Browse Source

Generated 2020-01-01 for ddoscoo.

sdk-team 5 years ago
parent
commit
36c89057b5
63 changed files with 4047 additions and 1 deletions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 52 0
      ddoscoo/CMakeLists.txt
  4. 104 0
      ddoscoo/include/alibabacloud/ddoscoo/DdoscooClient.h
  5. 57 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ConfigL7RsPolicyRequest.h
  6. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ConfigL7RsPolicyResult.h
  7. 57 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ConfigUdpReflectRequest.h
  8. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ConfigUdpReflectResult.h
  9. 72 0
      ddoscoo/include/alibabacloud/ddoscoo/model/CreateDomainResourceRequest.h
  10. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/CreateDomainResourceResult.h
  11. 63 0
      ddoscoo/include/alibabacloud/ddoscoo/model/CreatePortRequest.h
  12. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/CreatePortResult.h
  13. 6 0
      ddoscoo/include/alibabacloud/ddoscoo/model/CreateWebRuleRequest.h
  14. 51 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DeleteDomainResourceRequest.h
  15. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DeleteDomainResourceResult.h
  16. 63 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DeletePortRequest.h
  17. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DeletePortResult.h
  18. 63 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeDomainResourceRequest.h
  19. 85 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeDomainResourceResult.h
  20. 54 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeInstanceStatusRequest.h
  21. 53 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeInstanceStatusResult.h
  22. 57 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeL7RsPolicyRequest.h
  23. 63 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeL7RsPolicyResult.h
  24. 66 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribePortRequest.h
  25. 62 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribePortResult.h
  26. 54 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeUdpReflectRequest.h
  27. 51 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeUdpReflectResult.h
  28. 8 0
      ddoscoo/include/alibabacloud/ddoscoo/model/DescribeWebRulesResult.h
  29. 72 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ModifyDomainResourceRequest.h
  30. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ModifyDomainResourceResult.h
  31. 63 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ModifyPortRequest.h
  32. 49 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ModifyPortResult.h
  33. 3 0
      ddoscoo/include/alibabacloud/ddoscoo/model/ModifyWebRuleRequest.h
  34. 468 0
      ddoscoo/src/DdoscooClient.cc
  35. 73 0
      ddoscoo/src/model/ConfigL7RsPolicyRequest.cc
  36. 44 0
      ddoscoo/src/model/ConfigL7RsPolicyResult.cc
  37. 73 0
      ddoscoo/src/model/ConfigUdpReflectRequest.cc
  38. 44 0
      ddoscoo/src/model/ConfigUdpReflectResult.cc
  39. 117 0
      ddoscoo/src/model/CreateDomainResourceRequest.cc
  40. 44 0
      ddoscoo/src/model/CreateDomainResourceResult.cc
  41. 97 0
      ddoscoo/src/model/CreatePortRequest.cc
  42. 44 0
      ddoscoo/src/model/CreatePortResult.cc
  43. 22 0
      ddoscoo/src/model/CreateWebRuleRequest.cc
  44. 51 0
      ddoscoo/src/model/DeleteDomainResourceRequest.cc
  45. 44 0
      ddoscoo/src/model/DeleteDomainResourceResult.cc
  46. 97 0
      ddoscoo/src/model/DeletePortRequest.cc
  47. 44 0
      ddoscoo/src/model/DeletePortResult.cc
  48. 97 0
      ddoscoo/src/model/DescribeDomainResourceRequest.cc
  49. 124 0
      ddoscoo/src/model/DescribeDomainResourceResult.cc
  50. 62 0
      ddoscoo/src/model/DescribeInstanceStatusRequest.cc
  51. 58 0
      ddoscoo/src/model/DescribeInstanceStatusResult.cc
  52. 75 0
      ddoscoo/src/model/DescribeL7RsPolicyRequest.cc
  53. 69 0
      ddoscoo/src/model/DescribeL7RsPolicyResult.cc
  54. 106 0
      ddoscoo/src/model/DescribePortRequest.cc
  55. 75 0
      ddoscoo/src/model/DescribePortResult.cc
  56. 62 0
      ddoscoo/src/model/DescribeUdpReflectRequest.cc
  57. 52 0
      ddoscoo/src/model/DescribeUdpReflectResult.cc
  58. 17 0
      ddoscoo/src/model/DescribeWebRulesResult.cc
  59. 117 0
      ddoscoo/src/model/ModifyDomainResourceRequest.cc
  60. 44 0
      ddoscoo/src/model/ModifyDomainResourceResult.cc
  61. 97 0
      ddoscoo/src/model/ModifyPortRequest.cc
  62. 44 0
      ddoscoo/src/model/ModifyPortResult.cc
  63. 11 0
      ddoscoo/src/model/ModifyWebRuleRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-05-13 Version: 1.36.731
+- Generated 2020-01-01 for `ddoscoo`.
+
 2021-05-13 Version: 1.36.730
 - Add Indexing-Service support.
 - Remove jsonItem form.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.730
+1.36.731

+ 52 - 0
ddoscoo/CMakeLists.txt

@@ -29,18 +29,26 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/AssociateWebCertResult.h
 	include/alibabacloud/ddoscoo/model/AttachSceneDefenseObjectRequest.h
 	include/alibabacloud/ddoscoo/model/AttachSceneDefenseObjectResult.h
+	include/alibabacloud/ddoscoo/model/ConfigL7RsPolicyRequest.h
+	include/alibabacloud/ddoscoo/model/ConfigL7RsPolicyResult.h
 	include/alibabacloud/ddoscoo/model/ConfigNetworkRegionBlockRequest.h
 	include/alibabacloud/ddoscoo/model/ConfigNetworkRegionBlockResult.h
 	include/alibabacloud/ddoscoo/model/ConfigNetworkRulesRequest.h
 	include/alibabacloud/ddoscoo/model/ConfigNetworkRulesResult.h
+	include/alibabacloud/ddoscoo/model/ConfigUdpReflectRequest.h
+	include/alibabacloud/ddoscoo/model/ConfigUdpReflectResult.h
 	include/alibabacloud/ddoscoo/model/ConfigWebCCTemplateRequest.h
 	include/alibabacloud/ddoscoo/model/ConfigWebCCTemplateResult.h
 	include/alibabacloud/ddoscoo/model/ConfigWebIpSetRequest.h
 	include/alibabacloud/ddoscoo/model/ConfigWebIpSetResult.h
 	include/alibabacloud/ddoscoo/model/CreateAsyncTaskRequest.h
 	include/alibabacloud/ddoscoo/model/CreateAsyncTaskResult.h
+	include/alibabacloud/ddoscoo/model/CreateDomainResourceRequest.h
+	include/alibabacloud/ddoscoo/model/CreateDomainResourceResult.h
 	include/alibabacloud/ddoscoo/model/CreateNetworkRulesRequest.h
 	include/alibabacloud/ddoscoo/model/CreateNetworkRulesResult.h
+	include/alibabacloud/ddoscoo/model/CreatePortRequest.h
+	include/alibabacloud/ddoscoo/model/CreatePortResult.h
 	include/alibabacloud/ddoscoo/model/CreateSceneDefensePolicyRequest.h
 	include/alibabacloud/ddoscoo/model/CreateSceneDefensePolicyResult.h
 	include/alibabacloud/ddoscoo/model/CreateSchedulerRuleRequest.h
@@ -57,8 +65,12 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/DeleteAutoCcBlacklistResult.h
 	include/alibabacloud/ddoscoo/model/DeleteAutoCcWhitelistRequest.h
 	include/alibabacloud/ddoscoo/model/DeleteAutoCcWhitelistResult.h
+	include/alibabacloud/ddoscoo/model/DeleteDomainResourceRequest.h
+	include/alibabacloud/ddoscoo/model/DeleteDomainResourceResult.h
 	include/alibabacloud/ddoscoo/model/DeleteNetworkRuleRequest.h
 	include/alibabacloud/ddoscoo/model/DeleteNetworkRuleResult.h
+	include/alibabacloud/ddoscoo/model/DeletePortRequest.h
+	include/alibabacloud/ddoscoo/model/DeletePortResult.h
 	include/alibabacloud/ddoscoo/model/DeleteSceneDefensePolicyRequest.h
 	include/alibabacloud/ddoscoo/model/DeleteSceneDefensePolicyResult.h
 	include/alibabacloud/ddoscoo/model/DeleteSchedulerRuleRequest.h
@@ -117,6 +129,8 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/DescribeDomainQPSListResult.h
 	include/alibabacloud/ddoscoo/model/DescribeDomainQpsWithCacheRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeDomainQpsWithCacheResult.h
+	include/alibabacloud/ddoscoo/model/DescribeDomainResourceRequest.h
+	include/alibabacloud/ddoscoo/model/DescribeDomainResourceResult.h
 	include/alibabacloud/ddoscoo/model/DescribeDomainStatusCodeCountRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeDomainStatusCodeCountResult.h
 	include/alibabacloud/ddoscoo/model/DescribeDomainStatusCodeListRequest.h
@@ -147,8 +161,12 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/DescribeInstanceSpecsResult.h
 	include/alibabacloud/ddoscoo/model/DescribeInstanceStatisticsRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeInstanceStatisticsResult.h
+	include/alibabacloud/ddoscoo/model/DescribeInstanceStatusRequest.h
+	include/alibabacloud/ddoscoo/model/DescribeInstanceStatusResult.h
 	include/alibabacloud/ddoscoo/model/DescribeInstancesRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeInstancesResult.h
+	include/alibabacloud/ddoscoo/model/DescribeL7RsPolicyRequest.h
+	include/alibabacloud/ddoscoo/model/DescribeL7RsPolicyResult.h
 	include/alibabacloud/ddoscoo/model/DescribeLogStoreExistStatusRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeLogStoreExistStatusResult.h
 	include/alibabacloud/ddoscoo/model/DescribeNetworkRegionBlockRequest.h
@@ -159,6 +177,8 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/DescribeNetworkRulesResult.h
 	include/alibabacloud/ddoscoo/model/DescribeOpEntitiesRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeOpEntitiesResult.h
+	include/alibabacloud/ddoscoo/model/DescribePortRequest.h
+	include/alibabacloud/ddoscoo/model/DescribePortResult.h
 	include/alibabacloud/ddoscoo/model/DescribePortAttackMaxFlowRequest.h
 	include/alibabacloud/ddoscoo/model/DescribePortAttackMaxFlowResult.h
 	include/alibabacloud/ddoscoo/model/DescribePortAutoCcStatusRequest.h
@@ -195,6 +215,8 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/DescribeTagKeysResult.h
 	include/alibabacloud/ddoscoo/model/DescribeTagResourcesRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeTagResourcesResult.h
+	include/alibabacloud/ddoscoo/model/DescribeUdpReflectRequest.h
+	include/alibabacloud/ddoscoo/model/DescribeUdpReflectResult.h
 	include/alibabacloud/ddoscoo/model/DescribeUnBlackholeCountRequest.h
 	include/alibabacloud/ddoscoo/model/DescribeUnBlackholeCountResult.h
 	include/alibabacloud/ddoscoo/model/DescribeUnBlockCountRequest.h
@@ -253,6 +275,8 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/ModifyBlockStatusResult.h
 	include/alibabacloud/ddoscoo/model/ModifyCnameReuseRequest.h
 	include/alibabacloud/ddoscoo/model/ModifyCnameReuseResult.h
+	include/alibabacloud/ddoscoo/model/ModifyDomainResourceRequest.h
+	include/alibabacloud/ddoscoo/model/ModifyDomainResourceResult.h
 	include/alibabacloud/ddoscoo/model/ModifyElasticBandWidthRequest.h
 	include/alibabacloud/ddoscoo/model/ModifyElasticBandWidthResult.h
 	include/alibabacloud/ddoscoo/model/ModifyFullLogTtlRequest.h
@@ -265,6 +289,8 @@ set(ddoscoo_public_header_model
 	include/alibabacloud/ddoscoo/model/ModifyInstanceRemarkResult.h
 	include/alibabacloud/ddoscoo/model/ModifyNetworkRuleAttributeRequest.h
 	include/alibabacloud/ddoscoo/model/ModifyNetworkRuleAttributeResult.h
+	include/alibabacloud/ddoscoo/model/ModifyPortRequest.h
+	include/alibabacloud/ddoscoo/model/ModifyPortResult.h
 	include/alibabacloud/ddoscoo/model/ModifyPortAutoCcStatusRequest.h
 	include/alibabacloud/ddoscoo/model/ModifyPortAutoCcStatusResult.h
 	include/alibabacloud/ddoscoo/model/ModifySceneDefensePolicyRequest.h
@@ -314,18 +340,26 @@ set(ddoscoo_src
 	src/model/AssociateWebCertResult.cc
 	src/model/AttachSceneDefenseObjectRequest.cc
 	src/model/AttachSceneDefenseObjectResult.cc
+	src/model/ConfigL7RsPolicyRequest.cc
+	src/model/ConfigL7RsPolicyResult.cc
 	src/model/ConfigNetworkRegionBlockRequest.cc
 	src/model/ConfigNetworkRegionBlockResult.cc
 	src/model/ConfigNetworkRulesRequest.cc
 	src/model/ConfigNetworkRulesResult.cc
+	src/model/ConfigUdpReflectRequest.cc
+	src/model/ConfigUdpReflectResult.cc
 	src/model/ConfigWebCCTemplateRequest.cc
 	src/model/ConfigWebCCTemplateResult.cc
 	src/model/ConfigWebIpSetRequest.cc
 	src/model/ConfigWebIpSetResult.cc
 	src/model/CreateAsyncTaskRequest.cc
 	src/model/CreateAsyncTaskResult.cc
+	src/model/CreateDomainResourceRequest.cc
+	src/model/CreateDomainResourceResult.cc
 	src/model/CreateNetworkRulesRequest.cc
 	src/model/CreateNetworkRulesResult.cc
+	src/model/CreatePortRequest.cc
+	src/model/CreatePortResult.cc
 	src/model/CreateSceneDefensePolicyRequest.cc
 	src/model/CreateSceneDefensePolicyResult.cc
 	src/model/CreateSchedulerRuleRequest.cc
@@ -342,8 +376,12 @@ set(ddoscoo_src
 	src/model/DeleteAutoCcBlacklistResult.cc
 	src/model/DeleteAutoCcWhitelistRequest.cc
 	src/model/DeleteAutoCcWhitelistResult.cc
+	src/model/DeleteDomainResourceRequest.cc
+	src/model/DeleteDomainResourceResult.cc
 	src/model/DeleteNetworkRuleRequest.cc
 	src/model/DeleteNetworkRuleResult.cc
+	src/model/DeletePortRequest.cc
+	src/model/DeletePortResult.cc
 	src/model/DeleteSceneDefensePolicyRequest.cc
 	src/model/DeleteSceneDefensePolicyResult.cc
 	src/model/DeleteSchedulerRuleRequest.cc
@@ -402,6 +440,8 @@ set(ddoscoo_src
 	src/model/DescribeDomainQPSListResult.cc
 	src/model/DescribeDomainQpsWithCacheRequest.cc
 	src/model/DescribeDomainQpsWithCacheResult.cc
+	src/model/DescribeDomainResourceRequest.cc
+	src/model/DescribeDomainResourceResult.cc
 	src/model/DescribeDomainStatusCodeCountRequest.cc
 	src/model/DescribeDomainStatusCodeCountResult.cc
 	src/model/DescribeDomainStatusCodeListRequest.cc
@@ -432,8 +472,12 @@ set(ddoscoo_src
 	src/model/DescribeInstanceSpecsResult.cc
 	src/model/DescribeInstanceStatisticsRequest.cc
 	src/model/DescribeInstanceStatisticsResult.cc
+	src/model/DescribeInstanceStatusRequest.cc
+	src/model/DescribeInstanceStatusResult.cc
 	src/model/DescribeInstancesRequest.cc
 	src/model/DescribeInstancesResult.cc
+	src/model/DescribeL7RsPolicyRequest.cc
+	src/model/DescribeL7RsPolicyResult.cc
 	src/model/DescribeLogStoreExistStatusRequest.cc
 	src/model/DescribeLogStoreExistStatusResult.cc
 	src/model/DescribeNetworkRegionBlockRequest.cc
@@ -444,6 +488,8 @@ set(ddoscoo_src
 	src/model/DescribeNetworkRulesResult.cc
 	src/model/DescribeOpEntitiesRequest.cc
 	src/model/DescribeOpEntitiesResult.cc
+	src/model/DescribePortRequest.cc
+	src/model/DescribePortResult.cc
 	src/model/DescribePortAttackMaxFlowRequest.cc
 	src/model/DescribePortAttackMaxFlowResult.cc
 	src/model/DescribePortAutoCcStatusRequest.cc
@@ -480,6 +526,8 @@ set(ddoscoo_src
 	src/model/DescribeTagKeysResult.cc
 	src/model/DescribeTagResourcesRequest.cc
 	src/model/DescribeTagResourcesResult.cc
+	src/model/DescribeUdpReflectRequest.cc
+	src/model/DescribeUdpReflectResult.cc
 	src/model/DescribeUnBlackholeCountRequest.cc
 	src/model/DescribeUnBlackholeCountResult.cc
 	src/model/DescribeUnBlockCountRequest.cc
@@ -538,6 +586,8 @@ set(ddoscoo_src
 	src/model/ModifyBlockStatusResult.cc
 	src/model/ModifyCnameReuseRequest.cc
 	src/model/ModifyCnameReuseResult.cc
+	src/model/ModifyDomainResourceRequest.cc
+	src/model/ModifyDomainResourceResult.cc
 	src/model/ModifyElasticBandWidthRequest.cc
 	src/model/ModifyElasticBandWidthResult.cc
 	src/model/ModifyFullLogTtlRequest.cc
@@ -550,6 +600,8 @@ set(ddoscoo_src
 	src/model/ModifyInstanceRemarkResult.cc
 	src/model/ModifyNetworkRuleAttributeRequest.cc
 	src/model/ModifyNetworkRuleAttributeResult.cc
+	src/model/ModifyPortRequest.cc
+	src/model/ModifyPortResult.cc
 	src/model/ModifyPortAutoCcStatusRequest.cc
 	src/model/ModifyPortAutoCcStatusResult.cc
 	src/model/ModifySceneDefensePolicyRequest.cc

+ 104 - 0
ddoscoo/include/alibabacloud/ddoscoo/DdoscooClient.h

@@ -30,18 +30,26 @@
 #include "model/AssociateWebCertResult.h"
 #include "model/AttachSceneDefenseObjectRequest.h"
 #include "model/AttachSceneDefenseObjectResult.h"
+#include "model/ConfigL7RsPolicyRequest.h"
+#include "model/ConfigL7RsPolicyResult.h"
 #include "model/ConfigNetworkRegionBlockRequest.h"
 #include "model/ConfigNetworkRegionBlockResult.h"
 #include "model/ConfigNetworkRulesRequest.h"
 #include "model/ConfigNetworkRulesResult.h"
+#include "model/ConfigUdpReflectRequest.h"
+#include "model/ConfigUdpReflectResult.h"
 #include "model/ConfigWebCCTemplateRequest.h"
 #include "model/ConfigWebCCTemplateResult.h"
 #include "model/ConfigWebIpSetRequest.h"
 #include "model/ConfigWebIpSetResult.h"
 #include "model/CreateAsyncTaskRequest.h"
 #include "model/CreateAsyncTaskResult.h"
+#include "model/CreateDomainResourceRequest.h"
+#include "model/CreateDomainResourceResult.h"
 #include "model/CreateNetworkRulesRequest.h"
 #include "model/CreateNetworkRulesResult.h"
+#include "model/CreatePortRequest.h"
+#include "model/CreatePortResult.h"
 #include "model/CreateSceneDefensePolicyRequest.h"
 #include "model/CreateSceneDefensePolicyResult.h"
 #include "model/CreateSchedulerRuleRequest.h"
@@ -58,8 +66,12 @@
 #include "model/DeleteAutoCcBlacklistResult.h"
 #include "model/DeleteAutoCcWhitelistRequest.h"
 #include "model/DeleteAutoCcWhitelistResult.h"
+#include "model/DeleteDomainResourceRequest.h"
+#include "model/DeleteDomainResourceResult.h"
 #include "model/DeleteNetworkRuleRequest.h"
 #include "model/DeleteNetworkRuleResult.h"
+#include "model/DeletePortRequest.h"
+#include "model/DeletePortResult.h"
 #include "model/DeleteSceneDefensePolicyRequest.h"
 #include "model/DeleteSceneDefensePolicyResult.h"
 #include "model/DeleteSchedulerRuleRequest.h"
@@ -118,6 +130,8 @@
 #include "model/DescribeDomainQPSListResult.h"
 #include "model/DescribeDomainQpsWithCacheRequest.h"
 #include "model/DescribeDomainQpsWithCacheResult.h"
+#include "model/DescribeDomainResourceRequest.h"
+#include "model/DescribeDomainResourceResult.h"
 #include "model/DescribeDomainStatusCodeCountRequest.h"
 #include "model/DescribeDomainStatusCodeCountResult.h"
 #include "model/DescribeDomainStatusCodeListRequest.h"
@@ -148,8 +162,12 @@
 #include "model/DescribeInstanceSpecsResult.h"
 #include "model/DescribeInstanceStatisticsRequest.h"
 #include "model/DescribeInstanceStatisticsResult.h"
+#include "model/DescribeInstanceStatusRequest.h"
+#include "model/DescribeInstanceStatusResult.h"
 #include "model/DescribeInstancesRequest.h"
 #include "model/DescribeInstancesResult.h"
+#include "model/DescribeL7RsPolicyRequest.h"
+#include "model/DescribeL7RsPolicyResult.h"
 #include "model/DescribeLogStoreExistStatusRequest.h"
 #include "model/DescribeLogStoreExistStatusResult.h"
 #include "model/DescribeNetworkRegionBlockRequest.h"
@@ -160,6 +178,8 @@
 #include "model/DescribeNetworkRulesResult.h"
 #include "model/DescribeOpEntitiesRequest.h"
 #include "model/DescribeOpEntitiesResult.h"
+#include "model/DescribePortRequest.h"
+#include "model/DescribePortResult.h"
 #include "model/DescribePortAttackMaxFlowRequest.h"
 #include "model/DescribePortAttackMaxFlowResult.h"
 #include "model/DescribePortAutoCcStatusRequest.h"
@@ -196,6 +216,8 @@
 #include "model/DescribeTagKeysResult.h"
 #include "model/DescribeTagResourcesRequest.h"
 #include "model/DescribeTagResourcesResult.h"
+#include "model/DescribeUdpReflectRequest.h"
+#include "model/DescribeUdpReflectResult.h"
 #include "model/DescribeUnBlackholeCountRequest.h"
 #include "model/DescribeUnBlackholeCountResult.h"
 #include "model/DescribeUnBlockCountRequest.h"
@@ -254,6 +276,8 @@
 #include "model/ModifyBlockStatusResult.h"
 #include "model/ModifyCnameReuseRequest.h"
 #include "model/ModifyCnameReuseResult.h"
+#include "model/ModifyDomainResourceRequest.h"
+#include "model/ModifyDomainResourceResult.h"
 #include "model/ModifyElasticBandWidthRequest.h"
 #include "model/ModifyElasticBandWidthResult.h"
 #include "model/ModifyFullLogTtlRequest.h"
@@ -266,6 +290,8 @@
 #include "model/ModifyInstanceRemarkResult.h"
 #include "model/ModifyNetworkRuleAttributeRequest.h"
 #include "model/ModifyNetworkRuleAttributeResult.h"
+#include "model/ModifyPortRequest.h"
+#include "model/ModifyPortResult.h"
 #include "model/ModifyPortAutoCcStatusRequest.h"
 #include "model/ModifyPortAutoCcStatusResult.h"
 #include "model/ModifySceneDefensePolicyRequest.h"
@@ -325,12 +351,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AttachSceneDefenseObjectResult> AttachSceneDefenseObjectOutcome;
 			typedef std::future<AttachSceneDefenseObjectOutcome> AttachSceneDefenseObjectOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::AttachSceneDefenseObjectRequest&, const AttachSceneDefenseObjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachSceneDefenseObjectAsyncHandler;
+			typedef Outcome<Error, Model::ConfigL7RsPolicyResult> ConfigL7RsPolicyOutcome;
+			typedef std::future<ConfigL7RsPolicyOutcome> ConfigL7RsPolicyOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::ConfigL7RsPolicyRequest&, const ConfigL7RsPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigL7RsPolicyAsyncHandler;
 			typedef Outcome<Error, Model::ConfigNetworkRegionBlockResult> ConfigNetworkRegionBlockOutcome;
 			typedef std::future<ConfigNetworkRegionBlockOutcome> ConfigNetworkRegionBlockOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ConfigNetworkRegionBlockRequest&, const ConfigNetworkRegionBlockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigNetworkRegionBlockAsyncHandler;
 			typedef Outcome<Error, Model::ConfigNetworkRulesResult> ConfigNetworkRulesOutcome;
 			typedef std::future<ConfigNetworkRulesOutcome> ConfigNetworkRulesOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ConfigNetworkRulesRequest&, const ConfigNetworkRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigNetworkRulesAsyncHandler;
+			typedef Outcome<Error, Model::ConfigUdpReflectResult> ConfigUdpReflectOutcome;
+			typedef std::future<ConfigUdpReflectOutcome> ConfigUdpReflectOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::ConfigUdpReflectRequest&, const ConfigUdpReflectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigUdpReflectAsyncHandler;
 			typedef Outcome<Error, Model::ConfigWebCCTemplateResult> ConfigWebCCTemplateOutcome;
 			typedef std::future<ConfigWebCCTemplateOutcome> ConfigWebCCTemplateOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ConfigWebCCTemplateRequest&, const ConfigWebCCTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigWebCCTemplateAsyncHandler;
@@ -340,9 +372,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateAsyncTaskResult> CreateAsyncTaskOutcome;
 			typedef std::future<CreateAsyncTaskOutcome> CreateAsyncTaskOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::CreateAsyncTaskRequest&, const CreateAsyncTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAsyncTaskAsyncHandler;
+			typedef Outcome<Error, Model::CreateDomainResourceResult> CreateDomainResourceOutcome;
+			typedef std::future<CreateDomainResourceOutcome> CreateDomainResourceOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::CreateDomainResourceRequest&, const CreateDomainResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDomainResourceAsyncHandler;
 			typedef Outcome<Error, Model::CreateNetworkRulesResult> CreateNetworkRulesOutcome;
 			typedef std::future<CreateNetworkRulesOutcome> CreateNetworkRulesOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::CreateNetworkRulesRequest&, const CreateNetworkRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateNetworkRulesAsyncHandler;
+			typedef Outcome<Error, Model::CreatePortResult> CreatePortOutcome;
+			typedef std::future<CreatePortOutcome> CreatePortOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::CreatePortRequest&, const CreatePortOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePortAsyncHandler;
 			typedef Outcome<Error, Model::CreateSceneDefensePolicyResult> CreateSceneDefensePolicyOutcome;
 			typedef std::future<CreateSceneDefensePolicyOutcome> CreateSceneDefensePolicyOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::CreateSceneDefensePolicyRequest&, const CreateSceneDefensePolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSceneDefensePolicyAsyncHandler;
@@ -367,9 +405,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteAutoCcWhitelistResult> DeleteAutoCcWhitelistOutcome;
 			typedef std::future<DeleteAutoCcWhitelistOutcome> DeleteAutoCcWhitelistOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DeleteAutoCcWhitelistRequest&, const DeleteAutoCcWhitelistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAutoCcWhitelistAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDomainResourceResult> DeleteDomainResourceOutcome;
+			typedef std::future<DeleteDomainResourceOutcome> DeleteDomainResourceOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DeleteDomainResourceRequest&, const DeleteDomainResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainResourceAsyncHandler;
 			typedef Outcome<Error, Model::DeleteNetworkRuleResult> DeleteNetworkRuleOutcome;
 			typedef std::future<DeleteNetworkRuleOutcome> DeleteNetworkRuleOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DeleteNetworkRuleRequest&, const DeleteNetworkRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteNetworkRuleAsyncHandler;
+			typedef Outcome<Error, Model::DeletePortResult> DeletePortOutcome;
+			typedef std::future<DeletePortOutcome> DeletePortOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DeletePortRequest&, const DeletePortOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePortAsyncHandler;
 			typedef Outcome<Error, Model::DeleteSceneDefensePolicyResult> DeleteSceneDefensePolicyOutcome;
 			typedef std::future<DeleteSceneDefensePolicyOutcome> DeleteSceneDefensePolicyOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DeleteSceneDefensePolicyRequest&, const DeleteSceneDefensePolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSceneDefensePolicyAsyncHandler;
@@ -457,6 +501,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDomainQpsWithCacheResult> DescribeDomainQpsWithCacheOutcome;
 			typedef std::future<DescribeDomainQpsWithCacheOutcome> DescribeDomainQpsWithCacheOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeDomainQpsWithCacheRequest&, const DescribeDomainQpsWithCacheOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainQpsWithCacheAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainResourceResult> DescribeDomainResourceOutcome;
+			typedef std::future<DescribeDomainResourceOutcome> DescribeDomainResourceOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DescribeDomainResourceRequest&, const DescribeDomainResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainResourceAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDomainStatusCodeCountResult> DescribeDomainStatusCodeCountOutcome;
 			typedef std::future<DescribeDomainStatusCodeCountOutcome> DescribeDomainStatusCodeCountOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeDomainStatusCodeCountRequest&, const DescribeDomainStatusCodeCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainStatusCodeCountAsyncHandler;
@@ -502,9 +549,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceStatisticsResult> DescribeInstanceStatisticsOutcome;
 			typedef std::future<DescribeInstanceStatisticsOutcome> DescribeInstanceStatisticsOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeInstanceStatisticsRequest&, const DescribeInstanceStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceStatusResult> DescribeInstanceStatusOutcome;
+			typedef std::future<DescribeInstanceStatusOutcome> DescribeInstanceStatusOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DescribeInstanceStatusRequest&, const DescribeInstanceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceStatusAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstancesResult> DescribeInstancesOutcome;
 			typedef std::future<DescribeInstancesOutcome> DescribeInstancesOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeInstancesRequest&, const DescribeInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstancesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeL7RsPolicyResult> DescribeL7RsPolicyOutcome;
+			typedef std::future<DescribeL7RsPolicyOutcome> DescribeL7RsPolicyOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DescribeL7RsPolicyRequest&, const DescribeL7RsPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeL7RsPolicyAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLogStoreExistStatusResult> DescribeLogStoreExistStatusOutcome;
 			typedef std::future<DescribeLogStoreExistStatusOutcome> DescribeLogStoreExistStatusOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeLogStoreExistStatusRequest&, const DescribeLogStoreExistStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLogStoreExistStatusAsyncHandler;
@@ -520,6 +573,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeOpEntitiesResult> DescribeOpEntitiesOutcome;
 			typedef std::future<DescribeOpEntitiesOutcome> DescribeOpEntitiesOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeOpEntitiesRequest&, const DescribeOpEntitiesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeOpEntitiesAsyncHandler;
+			typedef Outcome<Error, Model::DescribePortResult> DescribePortOutcome;
+			typedef std::future<DescribePortOutcome> DescribePortOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DescribePortRequest&, const DescribePortOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePortAsyncHandler;
 			typedef Outcome<Error, Model::DescribePortAttackMaxFlowResult> DescribePortAttackMaxFlowOutcome;
 			typedef std::future<DescribePortAttackMaxFlowOutcome> DescribePortAttackMaxFlowOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribePortAttackMaxFlowRequest&, const DescribePortAttackMaxFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePortAttackMaxFlowAsyncHandler;
@@ -574,6 +630,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeTagResourcesResult> DescribeTagResourcesOutcome;
 			typedef std::future<DescribeTagResourcesOutcome> DescribeTagResourcesOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeTagResourcesRequest&, const DescribeTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeUdpReflectResult> DescribeUdpReflectOutcome;
+			typedef std::future<DescribeUdpReflectOutcome> DescribeUdpReflectOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::DescribeUdpReflectRequest&, const DescribeUdpReflectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUdpReflectAsyncHandler;
 			typedef Outcome<Error, Model::DescribeUnBlackholeCountResult> DescribeUnBlackholeCountOutcome;
 			typedef std::future<DescribeUnBlackholeCountOutcome> DescribeUnBlackholeCountOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::DescribeUnBlackholeCountRequest&, const DescribeUnBlackholeCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUnBlackholeCountAsyncHandler;
@@ -661,6 +720,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyCnameReuseResult> ModifyCnameReuseOutcome;
 			typedef std::future<ModifyCnameReuseOutcome> ModifyCnameReuseOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ModifyCnameReuseRequest&, const ModifyCnameReuseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCnameReuseAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDomainResourceResult> ModifyDomainResourceOutcome;
+			typedef std::future<ModifyDomainResourceOutcome> ModifyDomainResourceOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::ModifyDomainResourceRequest&, const ModifyDomainResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDomainResourceAsyncHandler;
 			typedef Outcome<Error, Model::ModifyElasticBandWidthResult> ModifyElasticBandWidthOutcome;
 			typedef std::future<ModifyElasticBandWidthOutcome> ModifyElasticBandWidthOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ModifyElasticBandWidthRequest&, const ModifyElasticBandWidthOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyElasticBandWidthAsyncHandler;
@@ -679,6 +741,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyNetworkRuleAttributeResult> ModifyNetworkRuleAttributeOutcome;
 			typedef std::future<ModifyNetworkRuleAttributeOutcome> ModifyNetworkRuleAttributeOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ModifyNetworkRuleAttributeRequest&, const ModifyNetworkRuleAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyNetworkRuleAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ModifyPortResult> ModifyPortOutcome;
+			typedef std::future<ModifyPortOutcome> ModifyPortOutcomeCallable;
+			typedef std::function<void(const DdoscooClient*, const Model::ModifyPortRequest&, const ModifyPortOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyPortAsyncHandler;
 			typedef Outcome<Error, Model::ModifyPortAutoCcStatusResult> ModifyPortAutoCcStatusOutcome;
 			typedef std::future<ModifyPortAutoCcStatusOutcome> ModifyPortAutoCcStatusOutcomeCallable;
 			typedef std::function<void(const DdoscooClient*, const Model::ModifyPortAutoCcStatusRequest&, const ModifyPortAutoCcStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyPortAutoCcStatusAsyncHandler;
@@ -753,12 +818,18 @@ namespace AlibabaCloud
 			AttachSceneDefenseObjectOutcome attachSceneDefenseObject(const Model::AttachSceneDefenseObjectRequest &request)const;
 			void attachSceneDefenseObjectAsync(const Model::AttachSceneDefenseObjectRequest& request, const AttachSceneDefenseObjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AttachSceneDefenseObjectOutcomeCallable attachSceneDefenseObjectCallable(const Model::AttachSceneDefenseObjectRequest& request) const;
+			ConfigL7RsPolicyOutcome configL7RsPolicy(const Model::ConfigL7RsPolicyRequest &request)const;
+			void configL7RsPolicyAsync(const Model::ConfigL7RsPolicyRequest& request, const ConfigL7RsPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ConfigL7RsPolicyOutcomeCallable configL7RsPolicyCallable(const Model::ConfigL7RsPolicyRequest& request) const;
 			ConfigNetworkRegionBlockOutcome configNetworkRegionBlock(const Model::ConfigNetworkRegionBlockRequest &request)const;
 			void configNetworkRegionBlockAsync(const Model::ConfigNetworkRegionBlockRequest& request, const ConfigNetworkRegionBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ConfigNetworkRegionBlockOutcomeCallable configNetworkRegionBlockCallable(const Model::ConfigNetworkRegionBlockRequest& request) const;
 			ConfigNetworkRulesOutcome configNetworkRules(const Model::ConfigNetworkRulesRequest &request)const;
 			void configNetworkRulesAsync(const Model::ConfigNetworkRulesRequest& request, const ConfigNetworkRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ConfigNetworkRulesOutcomeCallable configNetworkRulesCallable(const Model::ConfigNetworkRulesRequest& request) const;
+			ConfigUdpReflectOutcome configUdpReflect(const Model::ConfigUdpReflectRequest &request)const;
+			void configUdpReflectAsync(const Model::ConfigUdpReflectRequest& request, const ConfigUdpReflectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ConfigUdpReflectOutcomeCallable configUdpReflectCallable(const Model::ConfigUdpReflectRequest& request) const;
 			ConfigWebCCTemplateOutcome configWebCCTemplate(const Model::ConfigWebCCTemplateRequest &request)const;
 			void configWebCCTemplateAsync(const Model::ConfigWebCCTemplateRequest& request, const ConfigWebCCTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ConfigWebCCTemplateOutcomeCallable configWebCCTemplateCallable(const Model::ConfigWebCCTemplateRequest& request) const;
@@ -768,9 +839,15 @@ namespace AlibabaCloud
 			CreateAsyncTaskOutcome createAsyncTask(const Model::CreateAsyncTaskRequest &request)const;
 			void createAsyncTaskAsync(const Model::CreateAsyncTaskRequest& request, const CreateAsyncTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateAsyncTaskOutcomeCallable createAsyncTaskCallable(const Model::CreateAsyncTaskRequest& request) const;
+			CreateDomainResourceOutcome createDomainResource(const Model::CreateDomainResourceRequest &request)const;
+			void createDomainResourceAsync(const Model::CreateDomainResourceRequest& request, const CreateDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDomainResourceOutcomeCallable createDomainResourceCallable(const Model::CreateDomainResourceRequest& request) const;
 			CreateNetworkRulesOutcome createNetworkRules(const Model::CreateNetworkRulesRequest &request)const;
 			void createNetworkRulesAsync(const Model::CreateNetworkRulesRequest& request, const CreateNetworkRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateNetworkRulesOutcomeCallable createNetworkRulesCallable(const Model::CreateNetworkRulesRequest& request) const;
+			CreatePortOutcome createPort(const Model::CreatePortRequest &request)const;
+			void createPortAsync(const Model::CreatePortRequest& request, const CreatePortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePortOutcomeCallable createPortCallable(const Model::CreatePortRequest& request) const;
 			CreateSceneDefensePolicyOutcome createSceneDefensePolicy(const Model::CreateSceneDefensePolicyRequest &request)const;
 			void createSceneDefensePolicyAsync(const Model::CreateSceneDefensePolicyRequest& request, const CreateSceneDefensePolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateSceneDefensePolicyOutcomeCallable createSceneDefensePolicyCallable(const Model::CreateSceneDefensePolicyRequest& request) const;
@@ -795,9 +872,15 @@ namespace AlibabaCloud
 			DeleteAutoCcWhitelistOutcome deleteAutoCcWhitelist(const Model::DeleteAutoCcWhitelistRequest &request)const;
 			void deleteAutoCcWhitelistAsync(const Model::DeleteAutoCcWhitelistRequest& request, const DeleteAutoCcWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteAutoCcWhitelistOutcomeCallable deleteAutoCcWhitelistCallable(const Model::DeleteAutoCcWhitelistRequest& request) const;
+			DeleteDomainResourceOutcome deleteDomainResource(const Model::DeleteDomainResourceRequest &request)const;
+			void deleteDomainResourceAsync(const Model::DeleteDomainResourceRequest& request, const DeleteDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDomainResourceOutcomeCallable deleteDomainResourceCallable(const Model::DeleteDomainResourceRequest& request) const;
 			DeleteNetworkRuleOutcome deleteNetworkRule(const Model::DeleteNetworkRuleRequest &request)const;
 			void deleteNetworkRuleAsync(const Model::DeleteNetworkRuleRequest& request, const DeleteNetworkRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteNetworkRuleOutcomeCallable deleteNetworkRuleCallable(const Model::DeleteNetworkRuleRequest& request) const;
+			DeletePortOutcome deletePort(const Model::DeletePortRequest &request)const;
+			void deletePortAsync(const Model::DeletePortRequest& request, const DeletePortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeletePortOutcomeCallable deletePortCallable(const Model::DeletePortRequest& request) const;
 			DeleteSceneDefensePolicyOutcome deleteSceneDefensePolicy(const Model::DeleteSceneDefensePolicyRequest &request)const;
 			void deleteSceneDefensePolicyAsync(const Model::DeleteSceneDefensePolicyRequest& request, const DeleteSceneDefensePolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteSceneDefensePolicyOutcomeCallable deleteSceneDefensePolicyCallable(const Model::DeleteSceneDefensePolicyRequest& request) const;
@@ -885,6 +968,9 @@ namespace AlibabaCloud
 			DescribeDomainQpsWithCacheOutcome describeDomainQpsWithCache(const Model::DescribeDomainQpsWithCacheRequest &request)const;
 			void describeDomainQpsWithCacheAsync(const Model::DescribeDomainQpsWithCacheRequest& request, const DescribeDomainQpsWithCacheAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainQpsWithCacheOutcomeCallable describeDomainQpsWithCacheCallable(const Model::DescribeDomainQpsWithCacheRequest& request) const;
+			DescribeDomainResourceOutcome describeDomainResource(const Model::DescribeDomainResourceRequest &request)const;
+			void describeDomainResourceAsync(const Model::DescribeDomainResourceRequest& request, const DescribeDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainResourceOutcomeCallable describeDomainResourceCallable(const Model::DescribeDomainResourceRequest& request) const;
 			DescribeDomainStatusCodeCountOutcome describeDomainStatusCodeCount(const Model::DescribeDomainStatusCodeCountRequest &request)const;
 			void describeDomainStatusCodeCountAsync(const Model::DescribeDomainStatusCodeCountRequest& request, const DescribeDomainStatusCodeCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainStatusCodeCountOutcomeCallable describeDomainStatusCodeCountCallable(const Model::DescribeDomainStatusCodeCountRequest& request) const;
@@ -930,9 +1016,15 @@ namespace AlibabaCloud
 			DescribeInstanceStatisticsOutcome describeInstanceStatistics(const Model::DescribeInstanceStatisticsRequest &request)const;
 			void describeInstanceStatisticsAsync(const Model::DescribeInstanceStatisticsRequest& request, const DescribeInstanceStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceStatisticsOutcomeCallable describeInstanceStatisticsCallable(const Model::DescribeInstanceStatisticsRequest& request) const;
+			DescribeInstanceStatusOutcome describeInstanceStatus(const Model::DescribeInstanceStatusRequest &request)const;
+			void describeInstanceStatusAsync(const Model::DescribeInstanceStatusRequest& request, const DescribeInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceStatusOutcomeCallable describeInstanceStatusCallable(const Model::DescribeInstanceStatusRequest& request) const;
 			DescribeInstancesOutcome describeInstances(const Model::DescribeInstancesRequest &request)const;
 			void describeInstancesAsync(const Model::DescribeInstancesRequest& request, const DescribeInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstancesOutcomeCallable describeInstancesCallable(const Model::DescribeInstancesRequest& request) const;
+			DescribeL7RsPolicyOutcome describeL7RsPolicy(const Model::DescribeL7RsPolicyRequest &request)const;
+			void describeL7RsPolicyAsync(const Model::DescribeL7RsPolicyRequest& request, const DescribeL7RsPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeL7RsPolicyOutcomeCallable describeL7RsPolicyCallable(const Model::DescribeL7RsPolicyRequest& request) const;
 			DescribeLogStoreExistStatusOutcome describeLogStoreExistStatus(const Model::DescribeLogStoreExistStatusRequest &request)const;
 			void describeLogStoreExistStatusAsync(const Model::DescribeLogStoreExistStatusRequest& request, const DescribeLogStoreExistStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLogStoreExistStatusOutcomeCallable describeLogStoreExistStatusCallable(const Model::DescribeLogStoreExistStatusRequest& request) const;
@@ -948,6 +1040,9 @@ namespace AlibabaCloud
 			DescribeOpEntitiesOutcome describeOpEntities(const Model::DescribeOpEntitiesRequest &request)const;
 			void describeOpEntitiesAsync(const Model::DescribeOpEntitiesRequest& request, const DescribeOpEntitiesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeOpEntitiesOutcomeCallable describeOpEntitiesCallable(const Model::DescribeOpEntitiesRequest& request) const;
+			DescribePortOutcome describePort(const Model::DescribePortRequest &request)const;
+			void describePortAsync(const Model::DescribePortRequest& request, const DescribePortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePortOutcomeCallable describePortCallable(const Model::DescribePortRequest& request) const;
 			DescribePortAttackMaxFlowOutcome describePortAttackMaxFlow(const Model::DescribePortAttackMaxFlowRequest &request)const;
 			void describePortAttackMaxFlowAsync(const Model::DescribePortAttackMaxFlowRequest& request, const DescribePortAttackMaxFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribePortAttackMaxFlowOutcomeCallable describePortAttackMaxFlowCallable(const Model::DescribePortAttackMaxFlowRequest& request) const;
@@ -1002,6 +1097,9 @@ namespace AlibabaCloud
 			DescribeTagResourcesOutcome describeTagResources(const Model::DescribeTagResourcesRequest &request)const;
 			void describeTagResourcesAsync(const Model::DescribeTagResourcesRequest& request, const DescribeTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTagResourcesOutcomeCallable describeTagResourcesCallable(const Model::DescribeTagResourcesRequest& request) const;
+			DescribeUdpReflectOutcome describeUdpReflect(const Model::DescribeUdpReflectRequest &request)const;
+			void describeUdpReflectAsync(const Model::DescribeUdpReflectRequest& request, const DescribeUdpReflectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeUdpReflectOutcomeCallable describeUdpReflectCallable(const Model::DescribeUdpReflectRequest& request) const;
 			DescribeUnBlackholeCountOutcome describeUnBlackholeCount(const Model::DescribeUnBlackholeCountRequest &request)const;
 			void describeUnBlackholeCountAsync(const Model::DescribeUnBlackholeCountRequest& request, const DescribeUnBlackholeCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeUnBlackholeCountOutcomeCallable describeUnBlackholeCountCallable(const Model::DescribeUnBlackholeCountRequest& request) const;
@@ -1089,6 +1187,9 @@ namespace AlibabaCloud
 			ModifyCnameReuseOutcome modifyCnameReuse(const Model::ModifyCnameReuseRequest &request)const;
 			void modifyCnameReuseAsync(const Model::ModifyCnameReuseRequest& request, const ModifyCnameReuseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyCnameReuseOutcomeCallable modifyCnameReuseCallable(const Model::ModifyCnameReuseRequest& request) const;
+			ModifyDomainResourceOutcome modifyDomainResource(const Model::ModifyDomainResourceRequest &request)const;
+			void modifyDomainResourceAsync(const Model::ModifyDomainResourceRequest& request, const ModifyDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDomainResourceOutcomeCallable modifyDomainResourceCallable(const Model::ModifyDomainResourceRequest& request) const;
 			ModifyElasticBandWidthOutcome modifyElasticBandWidth(const Model::ModifyElasticBandWidthRequest &request)const;
 			void modifyElasticBandWidthAsync(const Model::ModifyElasticBandWidthRequest& request, const ModifyElasticBandWidthAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyElasticBandWidthOutcomeCallable modifyElasticBandWidthCallable(const Model::ModifyElasticBandWidthRequest& request) const;
@@ -1107,6 +1208,9 @@ namespace AlibabaCloud
 			ModifyNetworkRuleAttributeOutcome modifyNetworkRuleAttribute(const Model::ModifyNetworkRuleAttributeRequest &request)const;
 			void modifyNetworkRuleAttributeAsync(const Model::ModifyNetworkRuleAttributeRequest& request, const ModifyNetworkRuleAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyNetworkRuleAttributeOutcomeCallable modifyNetworkRuleAttributeCallable(const Model::ModifyNetworkRuleAttributeRequest& request) const;
+			ModifyPortOutcome modifyPort(const Model::ModifyPortRequest &request)const;
+			void modifyPortAsync(const Model::ModifyPortRequest& request, const ModifyPortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyPortOutcomeCallable modifyPortCallable(const Model::ModifyPortRequest& request) const;
 			ModifyPortAutoCcStatusOutcome modifyPortAutoCcStatus(const Model::ModifyPortAutoCcStatusRequest &request)const;
 			void modifyPortAutoCcStatusAsync(const Model::ModifyPortAutoCcStatusRequest& request, const ModifyPortAutoCcStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyPortAutoCcStatusOutcomeCallable modifyPortAutoCcStatusCallable(const Model::ModifyPortAutoCcStatusRequest& request) const;

+ 57 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ConfigL7RsPolicyRequest.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_DDOSCOO_MODEL_CONFIGL7RSPOLICYREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CONFIGL7RSPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ConfigL7RsPolicyRequest : public RpcServiceRequest
+			{
+
+			public:
+				ConfigL7RsPolicyRequest();
+				~ConfigL7RsPolicyRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getPolicy()const;
+				void setPolicy(const std::string& policy);
+
+            private:
+				std::string resourceGroupId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string policy_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CONFIGL7RSPOLICYREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ConfigL7RsPolicyResult.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_DDOSCOO_MODEL_CONFIGL7RSPOLICYRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CONFIGL7RSPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ConfigL7RsPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				ConfigL7RsPolicyResult();
+				explicit ConfigL7RsPolicyResult(const std::string &payload);
+				~ConfigL7RsPolicyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CONFIGL7RSPOLICYRESULT_H_

+ 57 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ConfigUdpReflectRequest.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_DDOSCOO_MODEL_CONFIGUDPREFLECTREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CONFIGUDPREFLECTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ConfigUdpReflectRequest : public RpcServiceRequest
+			{
+
+			public:
+				ConfigUdpReflectRequest();
+				~ConfigUdpReflectRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getConfig()const;
+				void setConfig(const std::string& config);
+
+            private:
+				std::string sourceIp_;
+				std::string regionId_;
+				std::string instanceId_;
+				std::string config_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CONFIGUDPREFLECTREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ConfigUdpReflectResult.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_DDOSCOO_MODEL_CONFIGUDPREFLECTRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CONFIGUDPREFLECTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ConfigUdpReflectResult : public ServiceResult
+			{
+			public:
+
+
+				ConfigUdpReflectResult();
+				explicit ConfigUdpReflectResult(const std::string &payload);
+				~ConfigUdpReflectResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CONFIGUDPREFLECTRESULT_H_

+ 72 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/CreateDomainResourceRequest.h

@@ -0,0 +1,72 @@
+/*
+ * 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_DDOSCOO_MODEL_CREATEDOMAINRESOURCEREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CREATEDOMAINRESOURCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT CreateDomainResourceRequest : public RpcServiceRequest
+			{
+			public:
+				struct ProxyTypes
+				{
+					std::vector<int> proxyPorts;
+					std::string proxyType;
+				};
+
+			public:
+				CreateDomainResourceRequest();
+				~CreateDomainResourceRequest();
+
+				std::string getHttpsExt()const;
+				void setHttpsExt(const std::string& httpsExt);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getRsType()const;
+				void setRsType(int rsType);
+				std::vector<std::string> getRealServers()const;
+				void setRealServers(const std::vector<std::string>& realServers);
+				std::vector<std::string> getInstanceIds()const;
+				void setInstanceIds(const std::vector<std::string>& instanceIds);
+				std::vector<ProxyTypes> getProxyTypes()const;
+				void setProxyTypes(const std::vector<ProxyTypes>& proxyTypes);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+
+            private:
+				std::string httpsExt_;
+				std::string sourceIp_;
+				int rsType_;
+				std::vector<std::string> realServers_;
+				std::vector<std::string> instanceIds_;
+				std::vector<ProxyTypes> proxyTypes_;
+				std::string domain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CREATEDOMAINRESOURCEREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/CreateDomainResourceResult.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_DDOSCOO_MODEL_CREATEDOMAINRESOURCERESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CREATEDOMAINRESOURCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT CreateDomainResourceResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDomainResourceResult();
+				explicit CreateDomainResourceResult(const std::string &payload);
+				~CreateDomainResourceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CREATEDOMAINRESOURCERESULT_H_

+ 63 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/CreatePortRequest.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_DDOSCOO_MODEL_CREATEPORTREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CREATEPORTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT CreatePortRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreatePortRequest();
+				~CreatePortRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getBackendPort()const;
+				void setBackendPort(const std::string& backendPort);
+				std::string getFrontendProtocol()const;
+				void setFrontendProtocol(const std::string& frontendProtocol);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::vector<std::string> getRealServers()const;
+				void setRealServers(const std::vector<std::string>& realServers);
+				std::string getFrontendPort()const;
+				void setFrontendPort(const std::string& frontendPort);
+
+            private:
+				std::string sourceIp_;
+				std::string backendPort_;
+				std::string frontendProtocol_;
+				std::string instanceId_;
+				std::vector<std::string> realServers_;
+				std::string frontendPort_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CREATEPORTREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/CreatePortResult.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_DDOSCOO_MODEL_CREATEPORTRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_CREATEPORTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT CreatePortResult : public ServiceResult
+			{
+			public:
+
+
+				CreatePortResult();
+				explicit CreatePortResult(const std::string &payload);
+				~CreatePortResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_CREATEPORTRESULT_H_

+ 6 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/CreateWebRuleRequest.h

@@ -35,6 +35,8 @@ namespace AlibabaCloud
 				CreateWebRuleRequest();
 				~CreateWebRuleRequest();
 
+				std::string getHttpsExt()const;
+				void setHttpsExt(const std::string& httpsExt);
 				std::string getRules()const;
 				void setRules(const std::string& rules);
 				std::string getResourceGroupId()const;
@@ -43,16 +45,20 @@ namespace AlibabaCloud
 				void setSourceIp(const std::string& sourceIp);
 				int getRsType()const;
 				void setRsType(int rsType);
+				std::string getDefenseId()const;
+				void setDefenseId(const std::string& defenseId);
 				std::vector<std::string> getInstanceIds()const;
 				void setInstanceIds(const std::vector<std::string>& instanceIds);
 				std::string getDomain()const;
 				void setDomain(const std::string& domain);
 
             private:
+				std::string httpsExt_;
 				std::string rules_;
 				std::string resourceGroupId_;
 				std::string sourceIp_;
 				int rsType_;
+				std::string defenseId_;
 				std::vector<std::string> instanceIds_;
 				std::string domain_;
 

+ 51 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DeleteDomainResourceRequest.h

@@ -0,0 +1,51 @@
+/*
+ * 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_DDOSCOO_MODEL_DELETEDOMAINRESOURCEREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DELETEDOMAINRESOURCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DeleteDomainResourceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDomainResourceRequest();
+				~DeleteDomainResourceRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+
+            private:
+				std::string sourceIp_;
+				std::string domain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DELETEDOMAINRESOURCEREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DeleteDomainResourceResult.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_DDOSCOO_MODEL_DELETEDOMAINRESOURCERESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DELETEDOMAINRESOURCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DeleteDomainResourceResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDomainResourceResult();
+				explicit DeleteDomainResourceResult(const std::string &payload);
+				~DeleteDomainResourceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DELETEDOMAINRESOURCERESULT_H_

+ 63 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DeletePortRequest.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_DDOSCOO_MODEL_DELETEPORTREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DELETEPORTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DeletePortRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeletePortRequest();
+				~DeletePortRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getBackendPort()const;
+				void setBackendPort(const std::string& backendPort);
+				std::string getFrontendProtocol()const;
+				void setFrontendProtocol(const std::string& frontendProtocol);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::vector<std::string> getRealServers()const;
+				void setRealServers(const std::vector<std::string>& realServers);
+				std::string getFrontendPort()const;
+				void setFrontendPort(const std::string& frontendPort);
+
+            private:
+				std::string sourceIp_;
+				std::string backendPort_;
+				std::string frontendProtocol_;
+				std::string instanceId_;
+				std::vector<std::string> realServers_;
+				std::string frontendPort_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DELETEPORTREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DeletePortResult.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_DDOSCOO_MODEL_DELETEPORTRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DELETEPORTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DeletePortResult : public ServiceResult
+			{
+			public:
+
+
+				DeletePortResult();
+				explicit DeletePortResult(const std::string &payload);
+				~DeletePortResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DELETEPORTRESULT_H_

+ 63 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeDomainResourceRequest.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_DDOSCOO_MODEL_DESCRIBEDOMAINRESOURCEREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEDOMAINRESOURCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeDomainResourceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainResourceRequest();
+				~DescribeDomainResourceRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::vector<std::string> getInstanceIds()const;
+				void setInstanceIds(const std::vector<std::string>& instanceIds);
+				std::string getQueryDomainPattern()const;
+				void setQueryDomainPattern(const std::string& queryDomainPattern);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+
+            private:
+				int pageNumber_;
+				std::string sourceIp_;
+				int pageSize_;
+				std::vector<std::string> instanceIds_;
+				std::string queryDomainPattern_;
+				std::string domain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEDOMAINRESOURCEREQUEST_H_

+ 85 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeDomainResourceResult.h

@@ -0,0 +1,85 @@
+/*
+ * 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_DDOSCOO_MODEL_DESCRIBEDOMAINRESOURCERESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEDOMAINRESOURCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeDomainResourceResult : public ServiceResult
+			{
+			public:
+				struct WebRule
+				{
+					struct ProxyConfig
+					{
+						std::vector<std::string> proxyPorts;
+						std::string proxyType;
+					};
+					std::vector<std::string> customCiphers;
+					bool ccEnabled;
+					std::string sslProtocols;
+					std::vector<WebRule::ProxyConfig> proxyTypes;
+					bool ccRuleEnabled;
+					std::vector<std::string> whiteList;
+					std::string sslCiphers;
+					std::vector<std::string> blackList;
+					bool punishStatus;
+					std::string cname;
+					bool proxyEnabled;
+					std::string httpsExt;
+					bool https2HttpEnable;
+					int rsType;
+					std::vector<std::string> realServers;
+					bool http2HttpsEnable;
+					int punishReason;
+					std::string certName;
+					std::string domain;
+					bool http2Enable;
+					std::vector<std::string> instanceIds;
+					std::string ccTemplate;
+					bool ssl13Enabled;
+					std::string policyMode;
+				};
+
+
+				DescribeDomainResourceResult();
+				explicit DescribeDomainResourceResult(const std::string &payload);
+				~DescribeDomainResourceResult();
+				long getTotalCount()const;
+				std::vector<WebRule> getWebRules()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				std::vector<WebRule> webRules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEDOMAINRESOURCERESULT_H_

+ 54 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeInstanceStatusRequest.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_DDOSCOO_MODEL_DESCRIBEINSTANCESTATUSREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEINSTANCESTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeInstanceStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeInstanceStatusRequest();
+				~DescribeInstanceStatusRequest();
+
+				int getProductType()const;
+				void setProductType(int productType);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+
+            private:
+				int productType_;
+				std::string instanceId_;
+				std::string sourceIp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEINSTANCESTATUSREQUEST_H_

+ 53 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeInstanceStatusResult.h

@@ -0,0 +1,53 @@
+/*
+ * 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_DDOSCOO_MODEL_DESCRIBEINSTANCESTATUSRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEINSTANCESTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeInstanceStatusResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeInstanceStatusResult();
+				explicit DescribeInstanceStatusResult(const std::string &payload);
+				~DescribeInstanceStatusResult();
+				std::string getInstanceId()const;
+				int getInstanceStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string instanceId_;
+				int instanceStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEINSTANCESTATUSRESULT_H_

+ 57 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeL7RsPolicyRequest.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_DDOSCOO_MODEL_DESCRIBEL7RSPOLICYREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEL7RSPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeL7RsPolicyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeL7RsPolicyRequest();
+				~DescribeL7RsPolicyRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::vector<std::string> getRealServers()const;
+				void setRealServers(const std::vector<std::string>& realServers);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+
+            private:
+				std::string resourceGroupId_;
+				std::vector<std::string> realServers_;
+				std::string sourceIp_;
+				std::string domain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEL7RSPOLICYREQUEST_H_

+ 63 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeL7RsPolicyResult.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_DDOSCOO_MODEL_DESCRIBEL7RSPOLICYRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEL7RSPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeL7RsPolicyResult : public ServiceResult
+			{
+			public:
+				struct AttributeItem
+				{
+					struct Attribute
+					{
+						int weight;
+					};
+					std::string realServer;
+					int rsType;
+					Attribute attribute;
+				};
+
+
+				DescribeL7RsPolicyResult();
+				explicit DescribeL7RsPolicyResult(const std::string &payload);
+				~DescribeL7RsPolicyResult();
+				std::vector<AttributeItem> getAttributes()const;
+				std::string getProxyMode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AttributeItem> attributes_;
+				std::string proxyMode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEL7RSPOLICYRESULT_H_

+ 66 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribePortRequest.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_DDOSCOO_MODEL_DESCRIBEPORTREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEPORTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribePortRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePortRequest();
+				~DescribePortRequest();
+
+				bool getIsOffset()const;
+				void setIsOffset(bool isOffset);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getFrontendProtocol()const;
+				void setFrontendProtocol(const std::string& frontendProtocol);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				int getFrontendPort()const;
+				void setFrontendPort(int frontendPort);
+
+            private:
+				bool isOffset_;
+				int pageNumber_;
+				std::string sourceIp_;
+				int pageSize_;
+				std::string frontendProtocol_;
+				std::string instanceId_;
+				int frontendPort_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEPORTREQUEST_H_

+ 62 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribePortResult.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_DDOSCOO_MODEL_DESCRIBEPORTRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEPORTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribePortResult : public ServiceResult
+			{
+			public:
+				struct NetworkRule
+				{
+					bool isAutoCreate;
+					std::string instanceId;
+					int backendPort;
+					std::vector<std::string> realServers;
+					int frontendPort;
+					std::string frontendProtocol;
+				};
+
+
+				DescribePortResult();
+				explicit DescribePortResult(const std::string &payload);
+				~DescribePortResult();
+				std::vector<NetworkRule> getNetworkRules()const;
+				long getTotalCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<NetworkRule> networkRules_;
+				long totalCount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEPORTRESULT_H_

+ 54 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeUdpReflectRequest.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_DDOSCOO_MODEL_DESCRIBEUDPREFLECTREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEUDPREFLECTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeUdpReflectRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeUdpReflectRequest();
+				~DescribeUdpReflectRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+
+            private:
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string regionId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEUDPREFLECTREQUEST_H_

+ 51 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeUdpReflectResult.h

@@ -0,0 +1,51 @@
+/*
+ * 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_DDOSCOO_MODEL_DESCRIBEUDPREFLECTRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEUDPREFLECTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT DescribeUdpReflectResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeUdpReflectResult();
+				explicit DescribeUdpReflectResult(const std::string &payload);
+				~DescribeUdpReflectResult();
+				std::vector<std::string> getUdpSports()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> udpSports_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_DESCRIBEUDPREFLECTRESULT_H_

+ 8 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/DescribeWebRulesResult.h

@@ -44,6 +44,7 @@ namespace AlibabaCloud
 						std::string realServer;
 						int rsType;
 					};
+					std::vector<std::string> customCiphers;
 					bool ccEnabled;
 					std::string sslProtocols;
 					std::vector<WebRule::ProxyConfig> proxyTypes;
@@ -51,12 +52,19 @@ namespace AlibabaCloud
 					std::vector<std::string> whiteList;
 					std::string sslCiphers;
 					std::vector<std::string> blackList;
+					bool punishStatus;
 					std::string cname;
+					bool proxyEnabled;
+					bool https2HttpEnable;
 					std::vector<WebRule::RealServer> realServers;
+					bool http2HttpsEnable;
+					int punishReason;
 					std::string certName;
 					std::string domain;
 					bool http2Enable;
 					std::string ccTemplate;
+					bool ssl13Enabled;
+					std::string policyMode;
 				};
 
 

+ 72 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ModifyDomainResourceRequest.h

@@ -0,0 +1,72 @@
+/*
+ * 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_DDOSCOO_MODEL_MODIFYDOMAINRESOURCEREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_MODIFYDOMAINRESOURCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ModifyDomainResourceRequest : public RpcServiceRequest
+			{
+			public:
+				struct ProxyTypes
+				{
+					std::vector<int> proxyPorts;
+					std::string proxyType;
+				};
+
+			public:
+				ModifyDomainResourceRequest();
+				~ModifyDomainResourceRequest();
+
+				std::string getHttpsExt()const;
+				void setHttpsExt(const std::string& httpsExt);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getRsType()const;
+				void setRsType(int rsType);
+				std::vector<std::string> getRealServers()const;
+				void setRealServers(const std::vector<std::string>& realServers);
+				std::vector<ProxyTypes> getProxyTypes()const;
+				void setProxyTypes(const std::vector<ProxyTypes>& proxyTypes);
+				std::vector<std::string> getInstanceIds()const;
+				void setInstanceIds(const std::vector<std::string>& instanceIds);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+
+            private:
+				std::string httpsExt_;
+				std::string sourceIp_;
+				int rsType_;
+				std::vector<std::string> realServers_;
+				std::vector<ProxyTypes> proxyTypes_;
+				std::vector<std::string> instanceIds_;
+				std::string domain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_MODIFYDOMAINRESOURCEREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ModifyDomainResourceResult.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_DDOSCOO_MODEL_MODIFYDOMAINRESOURCERESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_MODIFYDOMAINRESOURCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ModifyDomainResourceResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDomainResourceResult();
+				explicit ModifyDomainResourceResult(const std::string &payload);
+				~ModifyDomainResourceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_MODIFYDOMAINRESOURCERESULT_H_

+ 63 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ModifyPortRequest.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_DDOSCOO_MODEL_MODIFYPORTREQUEST_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_MODIFYPORTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ModifyPortRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyPortRequest();
+				~ModifyPortRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getBackendPort()const;
+				void setBackendPort(const std::string& backendPort);
+				std::string getFrontendProtocol()const;
+				void setFrontendProtocol(const std::string& frontendProtocol);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::vector<std::string> getRealServers()const;
+				void setRealServers(const std::vector<std::string>& realServers);
+				std::string getFrontendPort()const;
+				void setFrontendPort(const std::string& frontendPort);
+
+            private:
+				std::string sourceIp_;
+				std::string backendPort_;
+				std::string frontendProtocol_;
+				std::string instanceId_;
+				std::vector<std::string> realServers_;
+				std::string frontendPort_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_MODIFYPORTREQUEST_H_

+ 49 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ModifyPortResult.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_DDOSCOO_MODEL_MODIFYPORTRESULT_H_
+#define ALIBABACLOUD_DDOSCOO_MODEL_MODIFYPORTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddoscoo/DdoscooExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddoscoo
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSCOO_EXPORT ModifyPortResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyPortResult();
+				explicit ModifyPortResult(const std::string &payload);
+				~ModifyPortResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSCOO_MODEL_MODIFYPORTRESULT_H_

+ 3 - 0
ddoscoo/include/alibabacloud/ddoscoo/model/ModifyWebRuleRequest.h

@@ -35,6 +35,8 @@ namespace AlibabaCloud
 				ModifyWebRuleRequest();
 				~ModifyWebRuleRequest();
 
+				std::string getHttpsExt()const;
+				void setHttpsExt(const std::string& httpsExt);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getSourceIp()const;
@@ -51,6 +53,7 @@ namespace AlibabaCloud
 				void setDomain(const std::string& domain);
 
             private:
+				std::string httpsExt_;
 				std::string resourceGroupId_;
 				std::string sourceIp_;
 				int rsType_;

+ 468 - 0
ddoscoo/src/DdoscooClient.cc

@@ -195,6 +195,42 @@ DdoscooClient::AttachSceneDefenseObjectOutcomeCallable DdoscooClient::attachScen
 	return task->get_future();
 }
 
+DdoscooClient::ConfigL7RsPolicyOutcome DdoscooClient::configL7RsPolicy(const ConfigL7RsPolicyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ConfigL7RsPolicyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ConfigL7RsPolicyOutcome(ConfigL7RsPolicyResult(outcome.result()));
+	else
+		return ConfigL7RsPolicyOutcome(outcome.error());
+}
+
+void DdoscooClient::configL7RsPolicyAsync(const ConfigL7RsPolicyRequest& request, const ConfigL7RsPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, configL7RsPolicy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::ConfigL7RsPolicyOutcomeCallable DdoscooClient::configL7RsPolicyCallable(const ConfigL7RsPolicyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ConfigL7RsPolicyOutcome()>>(
+			[this, request]()
+			{
+			return this->configL7RsPolicy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::ConfigNetworkRegionBlockOutcome DdoscooClient::configNetworkRegionBlock(const ConfigNetworkRegionBlockRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -267,6 +303,42 @@ DdoscooClient::ConfigNetworkRulesOutcomeCallable DdoscooClient::configNetworkRul
 	return task->get_future();
 }
 
+DdoscooClient::ConfigUdpReflectOutcome DdoscooClient::configUdpReflect(const ConfigUdpReflectRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ConfigUdpReflectOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ConfigUdpReflectOutcome(ConfigUdpReflectResult(outcome.result()));
+	else
+		return ConfigUdpReflectOutcome(outcome.error());
+}
+
+void DdoscooClient::configUdpReflectAsync(const ConfigUdpReflectRequest& request, const ConfigUdpReflectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, configUdpReflect(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::ConfigUdpReflectOutcomeCallable DdoscooClient::configUdpReflectCallable(const ConfigUdpReflectRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ConfigUdpReflectOutcome()>>(
+			[this, request]()
+			{
+			return this->configUdpReflect(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::ConfigWebCCTemplateOutcome DdoscooClient::configWebCCTemplate(const ConfigWebCCTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -375,6 +447,42 @@ DdoscooClient::CreateAsyncTaskOutcomeCallable DdoscooClient::createAsyncTaskCall
 	return task->get_future();
 }
 
+DdoscooClient::CreateDomainResourceOutcome DdoscooClient::createDomainResource(const CreateDomainResourceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDomainResourceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDomainResourceOutcome(CreateDomainResourceResult(outcome.result()));
+	else
+		return CreateDomainResourceOutcome(outcome.error());
+}
+
+void DdoscooClient::createDomainResourceAsync(const CreateDomainResourceRequest& request, const CreateDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDomainResource(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::CreateDomainResourceOutcomeCallable DdoscooClient::createDomainResourceCallable(const CreateDomainResourceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDomainResourceOutcome()>>(
+			[this, request]()
+			{
+			return this->createDomainResource(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::CreateNetworkRulesOutcome DdoscooClient::createNetworkRules(const CreateNetworkRulesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -411,6 +519,42 @@ DdoscooClient::CreateNetworkRulesOutcomeCallable DdoscooClient::createNetworkRul
 	return task->get_future();
 }
 
+DdoscooClient::CreatePortOutcome DdoscooClient::createPort(const CreatePortRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreatePortOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreatePortOutcome(CreatePortResult(outcome.result()));
+	else
+		return CreatePortOutcome(outcome.error());
+}
+
+void DdoscooClient::createPortAsync(const CreatePortRequest& request, const CreatePortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createPort(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::CreatePortOutcomeCallable DdoscooClient::createPortCallable(const CreatePortRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreatePortOutcome()>>(
+			[this, request]()
+			{
+			return this->createPort(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::CreateSceneDefensePolicyOutcome DdoscooClient::createSceneDefensePolicy(const CreateSceneDefensePolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -699,6 +843,42 @@ DdoscooClient::DeleteAutoCcWhitelistOutcomeCallable DdoscooClient::deleteAutoCcW
 	return task->get_future();
 }
 
+DdoscooClient::DeleteDomainResourceOutcome DdoscooClient::deleteDomainResource(const DeleteDomainResourceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDomainResourceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDomainResourceOutcome(DeleteDomainResourceResult(outcome.result()));
+	else
+		return DeleteDomainResourceOutcome(outcome.error());
+}
+
+void DdoscooClient::deleteDomainResourceAsync(const DeleteDomainResourceRequest& request, const DeleteDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDomainResource(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DeleteDomainResourceOutcomeCallable DdoscooClient::deleteDomainResourceCallable(const DeleteDomainResourceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDomainResourceOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDomainResource(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DeleteNetworkRuleOutcome DdoscooClient::deleteNetworkRule(const DeleteNetworkRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,6 +915,42 @@ DdoscooClient::DeleteNetworkRuleOutcomeCallable DdoscooClient::deleteNetworkRule
 	return task->get_future();
 }
 
+DdoscooClient::DeletePortOutcome DdoscooClient::deletePort(const DeletePortRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeletePortOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeletePortOutcome(DeletePortResult(outcome.result()));
+	else
+		return DeletePortOutcome(outcome.error());
+}
+
+void DdoscooClient::deletePortAsync(const DeletePortRequest& request, const DeletePortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deletePort(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DeletePortOutcomeCallable DdoscooClient::deletePortCallable(const DeletePortRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeletePortOutcome()>>(
+			[this, request]()
+			{
+			return this->deletePort(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DeleteSceneDefensePolicyOutcome DdoscooClient::deleteSceneDefensePolicy(const DeleteSceneDefensePolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1779,6 +1995,42 @@ DdoscooClient::DescribeDomainQpsWithCacheOutcomeCallable DdoscooClient::describe
 	return task->get_future();
 }
 
+DdoscooClient::DescribeDomainResourceOutcome DdoscooClient::describeDomainResource(const DescribeDomainResourceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDomainResourceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDomainResourceOutcome(DescribeDomainResourceResult(outcome.result()));
+	else
+		return DescribeDomainResourceOutcome(outcome.error());
+}
+
+void DdoscooClient::describeDomainResourceAsync(const DescribeDomainResourceRequest& request, const DescribeDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDomainResource(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DescribeDomainResourceOutcomeCallable DdoscooClient::describeDomainResourceCallable(const DescribeDomainResourceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDomainResourceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDomainResource(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DescribeDomainStatusCodeCountOutcome DdoscooClient::describeDomainStatusCodeCount(const DescribeDomainStatusCodeCountRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2319,6 +2571,42 @@ DdoscooClient::DescribeInstanceStatisticsOutcomeCallable DdoscooClient::describe
 	return task->get_future();
 }
 
+DdoscooClient::DescribeInstanceStatusOutcome DdoscooClient::describeInstanceStatus(const DescribeInstanceStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceStatusOutcome(DescribeInstanceStatusResult(outcome.result()));
+	else
+		return DescribeInstanceStatusOutcome(outcome.error());
+}
+
+void DdoscooClient::describeInstanceStatusAsync(const DescribeInstanceStatusRequest& request, const DescribeInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DescribeInstanceStatusOutcomeCallable DdoscooClient::describeInstanceStatusCallable(const DescribeInstanceStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DescribeInstancesOutcome DdoscooClient::describeInstances(const DescribeInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2355,6 +2643,42 @@ DdoscooClient::DescribeInstancesOutcomeCallable DdoscooClient::describeInstances
 	return task->get_future();
 }
 
+DdoscooClient::DescribeL7RsPolicyOutcome DdoscooClient::describeL7RsPolicy(const DescribeL7RsPolicyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeL7RsPolicyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeL7RsPolicyOutcome(DescribeL7RsPolicyResult(outcome.result()));
+	else
+		return DescribeL7RsPolicyOutcome(outcome.error());
+}
+
+void DdoscooClient::describeL7RsPolicyAsync(const DescribeL7RsPolicyRequest& request, const DescribeL7RsPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeL7RsPolicy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DescribeL7RsPolicyOutcomeCallable DdoscooClient::describeL7RsPolicyCallable(const DescribeL7RsPolicyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeL7RsPolicyOutcome()>>(
+			[this, request]()
+			{
+			return this->describeL7RsPolicy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DescribeLogStoreExistStatusOutcome DdoscooClient::describeLogStoreExistStatus(const DescribeLogStoreExistStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2535,6 +2859,42 @@ DdoscooClient::DescribeOpEntitiesOutcomeCallable DdoscooClient::describeOpEntiti
 	return task->get_future();
 }
 
+DdoscooClient::DescribePortOutcome DdoscooClient::describePort(const DescribePortRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribePortOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribePortOutcome(DescribePortResult(outcome.result()));
+	else
+		return DescribePortOutcome(outcome.error());
+}
+
+void DdoscooClient::describePortAsync(const DescribePortRequest& request, const DescribePortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describePort(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DescribePortOutcomeCallable DdoscooClient::describePortCallable(const DescribePortRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribePortOutcome()>>(
+			[this, request]()
+			{
+			return this->describePort(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DescribePortAttackMaxFlowOutcome DdoscooClient::describePortAttackMaxFlow(const DescribePortAttackMaxFlowRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3183,6 +3543,42 @@ DdoscooClient::DescribeTagResourcesOutcomeCallable DdoscooClient::describeTagRes
 	return task->get_future();
 }
 
+DdoscooClient::DescribeUdpReflectOutcome DdoscooClient::describeUdpReflect(const DescribeUdpReflectRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeUdpReflectOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeUdpReflectOutcome(DescribeUdpReflectResult(outcome.result()));
+	else
+		return DescribeUdpReflectOutcome(outcome.error());
+}
+
+void DdoscooClient::describeUdpReflectAsync(const DescribeUdpReflectRequest& request, const DescribeUdpReflectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeUdpReflect(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::DescribeUdpReflectOutcomeCallable DdoscooClient::describeUdpReflectCallable(const DescribeUdpReflectRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeUdpReflectOutcome()>>(
+			[this, request]()
+			{
+			return this->describeUdpReflect(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::DescribeUnBlackholeCountOutcome DdoscooClient::describeUnBlackholeCount(const DescribeUnBlackholeCountRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4227,6 +4623,42 @@ DdoscooClient::ModifyCnameReuseOutcomeCallable DdoscooClient::modifyCnameReuseCa
 	return task->get_future();
 }
 
+DdoscooClient::ModifyDomainResourceOutcome DdoscooClient::modifyDomainResource(const ModifyDomainResourceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDomainResourceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDomainResourceOutcome(ModifyDomainResourceResult(outcome.result()));
+	else
+		return ModifyDomainResourceOutcome(outcome.error());
+}
+
+void DdoscooClient::modifyDomainResourceAsync(const ModifyDomainResourceRequest& request, const ModifyDomainResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDomainResource(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::ModifyDomainResourceOutcomeCallable DdoscooClient::modifyDomainResourceCallable(const ModifyDomainResourceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDomainResourceOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDomainResource(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::ModifyElasticBandWidthOutcome DdoscooClient::modifyElasticBandWidth(const ModifyElasticBandWidthRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4443,6 +4875,42 @@ DdoscooClient::ModifyNetworkRuleAttributeOutcomeCallable DdoscooClient::modifyNe
 	return task->get_future();
 }
 
+DdoscooClient::ModifyPortOutcome DdoscooClient::modifyPort(const ModifyPortRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyPortOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyPortOutcome(ModifyPortResult(outcome.result()));
+	else
+		return ModifyPortOutcome(outcome.error());
+}
+
+void DdoscooClient::modifyPortAsync(const ModifyPortRequest& request, const ModifyPortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyPort(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdoscooClient::ModifyPortOutcomeCallable DdoscooClient::modifyPortCallable(const ModifyPortRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyPortOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyPort(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdoscooClient::ModifyPortAutoCcStatusOutcome DdoscooClient::modifyPortAutoCcStatus(const ModifyPortAutoCcStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 73 - 0
ddoscoo/src/model/ConfigL7RsPolicyRequest.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/ddoscoo/model/ConfigL7RsPolicyRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::ConfigL7RsPolicyRequest;
+
+ConfigL7RsPolicyRequest::ConfigL7RsPolicyRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "ConfigL7RsPolicy")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ConfigL7RsPolicyRequest::~ConfigL7RsPolicyRequest()
+{}
+
+std::string ConfigL7RsPolicyRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void ConfigL7RsPolicyRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string ConfigL7RsPolicyRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ConfigL7RsPolicyRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ConfigL7RsPolicyRequest::getDomain()const
+{
+	return domain_;
+}
+
+void ConfigL7RsPolicyRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string ConfigL7RsPolicyRequest::getPolicy()const
+{
+	return policy_;
+}
+
+void ConfigL7RsPolicyRequest::setPolicy(const std::string& policy)
+{
+	policy_ = policy;
+	setParameter("Policy", policy);
+}
+

+ 44 - 0
ddoscoo/src/model/ConfigL7RsPolicyResult.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/ddoscoo/model/ConfigL7RsPolicyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+ConfigL7RsPolicyResult::ConfigL7RsPolicyResult() :
+	ServiceResult()
+{}
+
+ConfigL7RsPolicyResult::ConfigL7RsPolicyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ConfigL7RsPolicyResult::~ConfigL7RsPolicyResult()
+{}
+
+void ConfigL7RsPolicyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 73 - 0
ddoscoo/src/model/ConfigUdpReflectRequest.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/ddoscoo/model/ConfigUdpReflectRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::ConfigUdpReflectRequest;
+
+ConfigUdpReflectRequest::ConfigUdpReflectRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "ConfigUdpReflect")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ConfigUdpReflectRequest::~ConfigUdpReflectRequest()
+{}
+
+std::string ConfigUdpReflectRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ConfigUdpReflectRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ConfigUdpReflectRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ConfigUdpReflectRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ConfigUdpReflectRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ConfigUdpReflectRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ConfigUdpReflectRequest::getConfig()const
+{
+	return config_;
+}
+
+void ConfigUdpReflectRequest::setConfig(const std::string& config)
+{
+	config_ = config;
+	setParameter("Config", config);
+}
+

+ 44 - 0
ddoscoo/src/model/ConfigUdpReflectResult.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/ddoscoo/model/ConfigUdpReflectResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+ConfigUdpReflectResult::ConfigUdpReflectResult() :
+	ServiceResult()
+{}
+
+ConfigUdpReflectResult::ConfigUdpReflectResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ConfigUdpReflectResult::~ConfigUdpReflectResult()
+{}
+
+void ConfigUdpReflectResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 117 - 0
ddoscoo/src/model/CreateDomainResourceRequest.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/ddoscoo/model/CreateDomainResourceRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::CreateDomainResourceRequest;
+
+CreateDomainResourceRequest::CreateDomainResourceRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "CreateDomainResource")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateDomainResourceRequest::~CreateDomainResourceRequest()
+{}
+
+std::string CreateDomainResourceRequest::getHttpsExt()const
+{
+	return httpsExt_;
+}
+
+void CreateDomainResourceRequest::setHttpsExt(const std::string& httpsExt)
+{
+	httpsExt_ = httpsExt;
+	setParameter("HttpsExt", httpsExt);
+}
+
+std::string CreateDomainResourceRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void CreateDomainResourceRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int CreateDomainResourceRequest::getRsType()const
+{
+	return rsType_;
+}
+
+void CreateDomainResourceRequest::setRsType(int rsType)
+{
+	rsType_ = rsType;
+	setParameter("RsType", std::to_string(rsType));
+}
+
+std::vector<std::string> CreateDomainResourceRequest::getRealServers()const
+{
+	return realServers_;
+}
+
+void CreateDomainResourceRequest::setRealServers(const std::vector<std::string>& realServers)
+{
+	realServers_ = realServers;
+	for(int dep1 = 0; dep1!= realServers.size(); dep1++) {
+		setParameter("RealServers."+ std::to_string(dep1), realServers.at(dep1));
+	}
+}
+
+std::vector<std::string> CreateDomainResourceRequest::getInstanceIds()const
+{
+	return instanceIds_;
+}
+
+void CreateDomainResourceRequest::setInstanceIds(const std::vector<std::string>& instanceIds)
+{
+	instanceIds_ = instanceIds;
+	for(int dep1 = 0; dep1!= instanceIds.size(); dep1++) {
+		setParameter("InstanceIds."+ std::to_string(dep1), instanceIds.at(dep1));
+	}
+}
+
+std::vector<CreateDomainResourceRequest::ProxyTypes> CreateDomainResourceRequest::getProxyTypes()const
+{
+	return proxyTypes_;
+}
+
+void CreateDomainResourceRequest::setProxyTypes(const std::vector<ProxyTypes>& proxyTypes)
+{
+	proxyTypes_ = proxyTypes;
+	for(int dep1 = 0; dep1!= proxyTypes.size(); dep1++) {
+		auto proxyTypesObj = proxyTypes.at(dep1);
+		std::string proxyTypesObjStr = "ProxyTypes." + std::to_string(dep1 + 1);
+		for(int dep2 = 0; dep2!= proxyTypesObj.proxyPorts.size(); dep2++) {
+			setParameter(proxyTypesObjStr + ".ProxyPorts."+ std::to_string(dep2), std::to_string(proxyTypesObj.proxyPorts.at(dep2)));
+		}
+		setParameter(proxyTypesObjStr + ".ProxyType", proxyTypesObj.proxyType);
+	}
+}
+
+std::string CreateDomainResourceRequest::getDomain()const
+{
+	return domain_;
+}
+
+void CreateDomainResourceRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+

+ 44 - 0
ddoscoo/src/model/CreateDomainResourceResult.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/ddoscoo/model/CreateDomainResourceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+CreateDomainResourceResult::CreateDomainResourceResult() :
+	ServiceResult()
+{}
+
+CreateDomainResourceResult::CreateDomainResourceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDomainResourceResult::~CreateDomainResourceResult()
+{}
+
+void CreateDomainResourceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 97 - 0
ddoscoo/src/model/CreatePortRequest.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/ddoscoo/model/CreatePortRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::CreatePortRequest;
+
+CreatePortRequest::CreatePortRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "CreatePort")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreatePortRequest::~CreatePortRequest()
+{}
+
+std::string CreatePortRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void CreatePortRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string CreatePortRequest::getBackendPort()const
+{
+	return backendPort_;
+}
+
+void CreatePortRequest::setBackendPort(const std::string& backendPort)
+{
+	backendPort_ = backendPort;
+	setParameter("BackendPort", backendPort);
+}
+
+std::string CreatePortRequest::getFrontendProtocol()const
+{
+	return frontendProtocol_;
+}
+
+void CreatePortRequest::setFrontendProtocol(const std::string& frontendProtocol)
+{
+	frontendProtocol_ = frontendProtocol;
+	setParameter("FrontendProtocol", frontendProtocol);
+}
+
+std::string CreatePortRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreatePortRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::vector<std::string> CreatePortRequest::getRealServers()const
+{
+	return realServers_;
+}
+
+void CreatePortRequest::setRealServers(const std::vector<std::string>& realServers)
+{
+	realServers_ = realServers;
+	for(int dep1 = 0; dep1!= realServers.size(); dep1++) {
+		setParameter("RealServers."+ std::to_string(dep1), realServers.at(dep1));
+	}
+}
+
+std::string CreatePortRequest::getFrontendPort()const
+{
+	return frontendPort_;
+}
+
+void CreatePortRequest::setFrontendPort(const std::string& frontendPort)
+{
+	frontendPort_ = frontendPort;
+	setParameter("FrontendPort", frontendPort);
+}
+

+ 44 - 0
ddoscoo/src/model/CreatePortResult.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/ddoscoo/model/CreatePortResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+CreatePortResult::CreatePortResult() :
+	ServiceResult()
+{}
+
+CreatePortResult::CreatePortResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreatePortResult::~CreatePortResult()
+{}
+
+void CreatePortResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 22 - 0
ddoscoo/src/model/CreateWebRuleRequest.cc

@@ -27,6 +27,17 @@ CreateWebRuleRequest::CreateWebRuleRequest() :
 CreateWebRuleRequest::~CreateWebRuleRequest()
 {}
 
+std::string CreateWebRuleRequest::getHttpsExt()const
+{
+	return httpsExt_;
+}
+
+void CreateWebRuleRequest::setHttpsExt(const std::string& httpsExt)
+{
+	httpsExt_ = httpsExt;
+	setParameter("HttpsExt", httpsExt);
+}
+
 std::string CreateWebRuleRequest::getRules()const
 {
 	return rules_;
@@ -71,6 +82,17 @@ void CreateWebRuleRequest::setRsType(int rsType)
 	setParameter("RsType", std::to_string(rsType));
 }
 
+std::string CreateWebRuleRequest::getDefenseId()const
+{
+	return defenseId_;
+}
+
+void CreateWebRuleRequest::setDefenseId(const std::string& defenseId)
+{
+	defenseId_ = defenseId;
+	setParameter("DefenseId", defenseId);
+}
+
 std::vector<std::string> CreateWebRuleRequest::getInstanceIds()const
 {
 	return instanceIds_;

+ 51 - 0
ddoscoo/src/model/DeleteDomainResourceRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * 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/ddoscoo/model/DeleteDomainResourceRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DeleteDomainResourceRequest;
+
+DeleteDomainResourceRequest::DeleteDomainResourceRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DeleteDomainResource")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDomainResourceRequest::~DeleteDomainResourceRequest()
+{}
+
+std::string DeleteDomainResourceRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DeleteDomainResourceRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DeleteDomainResourceRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DeleteDomainResourceRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+

+ 44 - 0
ddoscoo/src/model/DeleteDomainResourceResult.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/ddoscoo/model/DeleteDomainResourceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DeleteDomainResourceResult::DeleteDomainResourceResult() :
+	ServiceResult()
+{}
+
+DeleteDomainResourceResult::DeleteDomainResourceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteDomainResourceResult::~DeleteDomainResourceResult()
+{}
+
+void DeleteDomainResourceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 97 - 0
ddoscoo/src/model/DeletePortRequest.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/ddoscoo/model/DeletePortRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DeletePortRequest;
+
+DeletePortRequest::DeletePortRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DeletePort")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeletePortRequest::~DeletePortRequest()
+{}
+
+std::string DeletePortRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DeletePortRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DeletePortRequest::getBackendPort()const
+{
+	return backendPort_;
+}
+
+void DeletePortRequest::setBackendPort(const std::string& backendPort)
+{
+	backendPort_ = backendPort;
+	setParameter("BackendPort", backendPort);
+}
+
+std::string DeletePortRequest::getFrontendProtocol()const
+{
+	return frontendProtocol_;
+}
+
+void DeletePortRequest::setFrontendProtocol(const std::string& frontendProtocol)
+{
+	frontendProtocol_ = frontendProtocol;
+	setParameter("FrontendProtocol", frontendProtocol);
+}
+
+std::string DeletePortRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeletePortRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::vector<std::string> DeletePortRequest::getRealServers()const
+{
+	return realServers_;
+}
+
+void DeletePortRequest::setRealServers(const std::vector<std::string>& realServers)
+{
+	realServers_ = realServers;
+	for(int dep1 = 0; dep1!= realServers.size(); dep1++) {
+		setParameter("RealServers."+ std::to_string(dep1), realServers.at(dep1));
+	}
+}
+
+std::string DeletePortRequest::getFrontendPort()const
+{
+	return frontendPort_;
+}
+
+void DeletePortRequest::setFrontendPort(const std::string& frontendPort)
+{
+	frontendPort_ = frontendPort;
+	setParameter("FrontendPort", frontendPort);
+}
+

+ 44 - 0
ddoscoo/src/model/DeletePortResult.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/ddoscoo/model/DeletePortResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DeletePortResult::DeletePortResult() :
+	ServiceResult()
+{}
+
+DeletePortResult::DeletePortResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeletePortResult::~DeletePortResult()
+{}
+
+void DeletePortResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 97 - 0
ddoscoo/src/model/DescribeDomainResourceRequest.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/ddoscoo/model/DescribeDomainResourceRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DescribeDomainResourceRequest;
+
+DescribeDomainResourceRequest::DescribeDomainResourceRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DescribeDomainResource")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDomainResourceRequest::~DescribeDomainResourceRequest()
+{}
+
+int DescribeDomainResourceRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeDomainResourceRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeDomainResourceRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeDomainResourceRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int DescribeDomainResourceRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeDomainResourceRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::vector<std::string> DescribeDomainResourceRequest::getInstanceIds()const
+{
+	return instanceIds_;
+}
+
+void DescribeDomainResourceRequest::setInstanceIds(const std::vector<std::string>& instanceIds)
+{
+	instanceIds_ = instanceIds;
+	for(int dep1 = 0; dep1!= instanceIds.size(); dep1++) {
+		setParameter("InstanceIds."+ std::to_string(dep1), instanceIds.at(dep1));
+	}
+}
+
+std::string DescribeDomainResourceRequest::getQueryDomainPattern()const
+{
+	return queryDomainPattern_;
+}
+
+void DescribeDomainResourceRequest::setQueryDomainPattern(const std::string& queryDomainPattern)
+{
+	queryDomainPattern_ = queryDomainPattern;
+	setParameter("QueryDomainPattern", queryDomainPattern);
+}
+
+std::string DescribeDomainResourceRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DescribeDomainResourceRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+

+ 124 - 0
ddoscoo/src/model/DescribeDomainResourceResult.cc

@@ -0,0 +1,124 @@
+/*
+ * 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/ddoscoo/model/DescribeDomainResourceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DescribeDomainResourceResult::DescribeDomainResourceResult() :
+	ServiceResult()
+{}
+
+DescribeDomainResourceResult::DescribeDomainResourceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDomainResourceResult::~DescribeDomainResourceResult()
+{}
+
+void DescribeDomainResourceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allWebRulesNode = value["WebRules"]["WebRule"];
+	for (auto valueWebRulesWebRule : allWebRulesNode)
+	{
+		WebRule webRulesObject;
+		if(!valueWebRulesWebRule["Domain"].isNull())
+			webRulesObject.domain = valueWebRulesWebRule["Domain"].asString();
+		if(!valueWebRulesWebRule["RsType"].isNull())
+			webRulesObject.rsType = std::stoi(valueWebRulesWebRule["RsType"].asString());
+		if(!valueWebRulesWebRule["CcEnabled"].isNull())
+			webRulesObject.ccEnabled = valueWebRulesWebRule["CcEnabled"].asString() == "true";
+		if(!valueWebRulesWebRule["CcRuleEnabled"].isNull())
+			webRulesObject.ccRuleEnabled = valueWebRulesWebRule["CcRuleEnabled"].asString() == "true";
+		if(!valueWebRulesWebRule["CcTemplate"].isNull())
+			webRulesObject.ccTemplate = valueWebRulesWebRule["CcTemplate"].asString();
+		if(!valueWebRulesWebRule["SslProtocols"].isNull())
+			webRulesObject.sslProtocols = valueWebRulesWebRule["SslProtocols"].asString();
+		if(!valueWebRulesWebRule["SslCiphers"].isNull())
+			webRulesObject.sslCiphers = valueWebRulesWebRule["SslCiphers"].asString();
+		if(!valueWebRulesWebRule["Http2Enable"].isNull())
+			webRulesObject.http2Enable = valueWebRulesWebRule["Http2Enable"].asString() == "true";
+		if(!valueWebRulesWebRule["Http2HttpsEnable"].isNull())
+			webRulesObject.http2HttpsEnable = valueWebRulesWebRule["Http2HttpsEnable"].asString() == "true";
+		if(!valueWebRulesWebRule["Https2HttpEnable"].isNull())
+			webRulesObject.https2HttpEnable = valueWebRulesWebRule["Https2HttpEnable"].asString() == "true";
+		if(!valueWebRulesWebRule["PolicyMode"].isNull())
+			webRulesObject.policyMode = valueWebRulesWebRule["PolicyMode"].asString();
+		if(!valueWebRulesWebRule["ProxyEnabled"].isNull())
+			webRulesObject.proxyEnabled = valueWebRulesWebRule["ProxyEnabled"].asString() == "true";
+		if(!valueWebRulesWebRule["Ssl13Enabled"].isNull())
+			webRulesObject.ssl13Enabled = valueWebRulesWebRule["Ssl13Enabled"].asString() == "true";
+		if(!valueWebRulesWebRule["PunishStatus"].isNull())
+			webRulesObject.punishStatus = valueWebRulesWebRule["PunishStatus"].asString() == "true";
+		if(!valueWebRulesWebRule["PunishReason"].isNull())
+			webRulesObject.punishReason = std::stoi(valueWebRulesWebRule["PunishReason"].asString());
+		if(!valueWebRulesWebRule["Cname"].isNull())
+			webRulesObject.cname = valueWebRulesWebRule["Cname"].asString();
+		if(!valueWebRulesWebRule["CertName"].isNull())
+			webRulesObject.certName = valueWebRulesWebRule["CertName"].asString();
+		if(!valueWebRulesWebRule["HttpsExt"].isNull())
+			webRulesObject.httpsExt = valueWebRulesWebRule["HttpsExt"].asString();
+		auto allProxyTypesNode = valueWebRulesWebRule["ProxyTypes"]["ProxyConfig"];
+		for (auto valueWebRulesWebRuleProxyTypesProxyConfig : allProxyTypesNode)
+		{
+			WebRule::ProxyConfig proxyTypesObject;
+			if(!valueWebRulesWebRuleProxyTypesProxyConfig["ProxyType"].isNull())
+				proxyTypesObject.proxyType = valueWebRulesWebRuleProxyTypesProxyConfig["ProxyType"].asString();
+			auto allProxyPorts = value["ProxyPorts"]["ProxyPort"];
+			for (auto value : allProxyPorts)
+				proxyTypesObject.proxyPorts.push_back(value.asString());
+			webRulesObject.proxyTypes.push_back(proxyTypesObject);
+		}
+		auto allRealServers = value["RealServers"]["RealServers"];
+		for (auto value : allRealServers)
+			webRulesObject.realServers.push_back(value.asString());
+		auto allWhiteList = value["WhiteList"]["WhiteItem"];
+		for (auto value : allWhiteList)
+			webRulesObject.whiteList.push_back(value.asString());
+		auto allBlackList = value["BlackList"]["BlackItem"];
+		for (auto value : allBlackList)
+			webRulesObject.blackList.push_back(value.asString());
+		auto allCustomCiphers = value["CustomCiphers"]["CustomCipher"];
+		for (auto value : allCustomCiphers)
+			webRulesObject.customCiphers.push_back(value.asString());
+		auto allInstanceIds = value["InstanceIds"]["InstanceIds"];
+		for (auto value : allInstanceIds)
+			webRulesObject.instanceIds.push_back(value.asString());
+		webRules_.push_back(webRulesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+
+}
+
+long DescribeDomainResourceResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeDomainResourceResult::WebRule> DescribeDomainResourceResult::getWebRules()const
+{
+	return webRules_;
+}
+

+ 62 - 0
ddoscoo/src/model/DescribeInstanceStatusRequest.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/ddoscoo/model/DescribeInstanceStatusRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DescribeInstanceStatusRequest;
+
+DescribeInstanceStatusRequest::DescribeInstanceStatusRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DescribeInstanceStatus")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceStatusRequest::~DescribeInstanceStatusRequest()
+{}
+
+int DescribeInstanceStatusRequest::getProductType()const
+{
+	return productType_;
+}
+
+void DescribeInstanceStatusRequest::setProductType(int productType)
+{
+	productType_ = productType;
+	setParameter("ProductType", std::to_string(productType));
+}
+
+std::string DescribeInstanceStatusRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeInstanceStatusRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeInstanceStatusRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeInstanceStatusRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+

+ 58 - 0
ddoscoo/src/model/DescribeInstanceStatusResult.cc

@@ -0,0 +1,58 @@
+/*
+ * 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/ddoscoo/model/DescribeInstanceStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DescribeInstanceStatusResult::DescribeInstanceStatusResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceStatusResult::DescribeInstanceStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceStatusResult::~DescribeInstanceStatusResult()
+{}
+
+void DescribeInstanceStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["InstanceId"].isNull())
+		instanceId_ = value["InstanceId"].asString();
+	if(!value["InstanceStatus"].isNull())
+		instanceStatus_ = std::stoi(value["InstanceStatus"].asString());
+
+}
+
+std::string DescribeInstanceStatusResult::getInstanceId()const
+{
+	return instanceId_;
+}
+
+int DescribeInstanceStatusResult::getInstanceStatus()const
+{
+	return instanceStatus_;
+}
+

+ 75 - 0
ddoscoo/src/model/DescribeL7RsPolicyRequest.cc

@@ -0,0 +1,75 @@
+/*
+ * 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/ddoscoo/model/DescribeL7RsPolicyRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DescribeL7RsPolicyRequest;
+
+DescribeL7RsPolicyRequest::DescribeL7RsPolicyRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DescribeL7RsPolicy")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeL7RsPolicyRequest::~DescribeL7RsPolicyRequest()
+{}
+
+std::string DescribeL7RsPolicyRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeL7RsPolicyRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::vector<std::string> DescribeL7RsPolicyRequest::getRealServers()const
+{
+	return realServers_;
+}
+
+void DescribeL7RsPolicyRequest::setRealServers(const std::vector<std::string>& realServers)
+{
+	realServers_ = realServers;
+	for(int dep1 = 0; dep1!= realServers.size(); dep1++) {
+		setParameter("RealServers."+ std::to_string(dep1), realServers.at(dep1));
+	}
+}
+
+std::string DescribeL7RsPolicyRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeL7RsPolicyRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeL7RsPolicyRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DescribeL7RsPolicyRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+

+ 69 - 0
ddoscoo/src/model/DescribeL7RsPolicyResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ddoscoo/model/DescribeL7RsPolicyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DescribeL7RsPolicyResult::DescribeL7RsPolicyResult() :
+	ServiceResult()
+{}
+
+DescribeL7RsPolicyResult::DescribeL7RsPolicyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeL7RsPolicyResult::~DescribeL7RsPolicyResult()
+{}
+
+void DescribeL7RsPolicyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAttributesNode = value["Attributes"]["AttributeItem"];
+	for (auto valueAttributesAttributeItem : allAttributesNode)
+	{
+		AttributeItem attributesObject;
+		if(!valueAttributesAttributeItem["RsType"].isNull())
+			attributesObject.rsType = std::stoi(valueAttributesAttributeItem["RsType"].asString());
+		if(!valueAttributesAttributeItem["RealServer"].isNull())
+			attributesObject.realServer = valueAttributesAttributeItem["RealServer"].asString();
+		auto attributeNode = value["Attribute"];
+		if(!attributeNode["Weight"].isNull())
+			attributesObject.attribute.weight = std::stoi(attributeNode["Weight"].asString());
+		attributes_.push_back(attributesObject);
+	}
+	if(!value["ProxyMode"].isNull())
+		proxyMode_ = value["ProxyMode"].asString();
+
+}
+
+std::vector<DescribeL7RsPolicyResult::AttributeItem> DescribeL7RsPolicyResult::getAttributes()const
+{
+	return attributes_;
+}
+
+std::string DescribeL7RsPolicyResult::getProxyMode()const
+{
+	return proxyMode_;
+}
+

+ 106 - 0
ddoscoo/src/model/DescribePortRequest.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/ddoscoo/model/DescribePortRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DescribePortRequest;
+
+DescribePortRequest::DescribePortRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DescribePort")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePortRequest::~DescribePortRequest()
+{}
+
+bool DescribePortRequest::getIsOffset()const
+{
+	return isOffset_;
+}
+
+void DescribePortRequest::setIsOffset(bool isOffset)
+{
+	isOffset_ = isOffset;
+	setParameter("IsOffset", isOffset ? "true" : "false");
+}
+
+int DescribePortRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribePortRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribePortRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribePortRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int DescribePortRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribePortRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribePortRequest::getFrontendProtocol()const
+{
+	return frontendProtocol_;
+}
+
+void DescribePortRequest::setFrontendProtocol(const std::string& frontendProtocol)
+{
+	frontendProtocol_ = frontendProtocol;
+	setParameter("FrontendProtocol", frontendProtocol);
+}
+
+std::string DescribePortRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribePortRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+int DescribePortRequest::getFrontendPort()const
+{
+	return frontendPort_;
+}
+
+void DescribePortRequest::setFrontendPort(int frontendPort)
+{
+	frontendPort_ = frontendPort;
+	setParameter("FrontendPort", std::to_string(frontendPort));
+}
+

+ 75 - 0
ddoscoo/src/model/DescribePortResult.cc

@@ -0,0 +1,75 @@
+/*
+ * 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/ddoscoo/model/DescribePortResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DescribePortResult::DescribePortResult() :
+	ServiceResult()
+{}
+
+DescribePortResult::DescribePortResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePortResult::~DescribePortResult()
+{}
+
+void DescribePortResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allNetworkRulesNode = value["NetworkRules"]["NetworkRule"];
+	for (auto valueNetworkRulesNetworkRule : allNetworkRulesNode)
+	{
+		NetworkRule networkRulesObject;
+		if(!valueNetworkRulesNetworkRule["InstanceId"].isNull())
+			networkRulesObject.instanceId = valueNetworkRulesNetworkRule["InstanceId"].asString();
+		if(!valueNetworkRulesNetworkRule["FrontendProtocol"].isNull())
+			networkRulesObject.frontendProtocol = valueNetworkRulesNetworkRule["FrontendProtocol"].asString();
+		if(!valueNetworkRulesNetworkRule["FrontendPort"].isNull())
+			networkRulesObject.frontendPort = std::stoi(valueNetworkRulesNetworkRule["FrontendPort"].asString());
+		if(!valueNetworkRulesNetworkRule["BackendPort"].isNull())
+			networkRulesObject.backendPort = std::stoi(valueNetworkRulesNetworkRule["BackendPort"].asString());
+		if(!valueNetworkRulesNetworkRule["IsAutoCreate"].isNull())
+			networkRulesObject.isAutoCreate = valueNetworkRulesNetworkRule["IsAutoCreate"].asString() == "true";
+		auto allRealServers = value["RealServers"]["RealServers"];
+		for (auto value : allRealServers)
+			networkRulesObject.realServers.push_back(value.asString());
+		networkRules_.push_back(networkRulesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+
+}
+
+std::vector<DescribePortResult::NetworkRule> DescribePortResult::getNetworkRules()const
+{
+	return networkRules_;
+}
+
+long DescribePortResult::getTotalCount()const
+{
+	return totalCount_;
+}
+

+ 62 - 0
ddoscoo/src/model/DescribeUdpReflectRequest.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/ddoscoo/model/DescribeUdpReflectRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::DescribeUdpReflectRequest;
+
+DescribeUdpReflectRequest::DescribeUdpReflectRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "DescribeUdpReflect")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeUdpReflectRequest::~DescribeUdpReflectRequest()
+{}
+
+std::string DescribeUdpReflectRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeUdpReflectRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeUdpReflectRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeUdpReflectRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeUdpReflectRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeUdpReflectRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+

+ 52 - 0
ddoscoo/src/model/DescribeUdpReflectResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/ddoscoo/model/DescribeUdpReflectResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+DescribeUdpReflectResult::DescribeUdpReflectResult() :
+	ServiceResult()
+{}
+
+DescribeUdpReflectResult::DescribeUdpReflectResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeUdpReflectResult::~DescribeUdpReflectResult()
+{}
+
+void DescribeUdpReflectResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allUdpSports = value["UdpSports"]["UdpSports"];
+	for (const auto &item : allUdpSports)
+		udpSports_.push_back(item.asString());
+
+}
+
+std::vector<std::string> DescribeUdpReflectResult::getUdpSports()const
+{
+	return udpSports_;
+}
+

+ 17 - 0
ddoscoo/src/model/DescribeWebRulesResult.cc

@@ -57,6 +57,20 @@ void DescribeWebRulesResult::parse(const std::string &payload)
 			webRulesObject.sslCiphers = valueWebRulesWebRule["SslCiphers"].asString();
 		if(!valueWebRulesWebRule["Http2Enable"].isNull())
 			webRulesObject.http2Enable = valueWebRulesWebRule["Http2Enable"].asString() == "true";
+		if(!valueWebRulesWebRule["Http2HttpsEnable"].isNull())
+			webRulesObject.http2HttpsEnable = valueWebRulesWebRule["Http2HttpsEnable"].asString() == "true";
+		if(!valueWebRulesWebRule["Https2HttpEnable"].isNull())
+			webRulesObject.https2HttpEnable = valueWebRulesWebRule["Https2HttpEnable"].asString() == "true";
+		if(!valueWebRulesWebRule["PolicyMode"].isNull())
+			webRulesObject.policyMode = valueWebRulesWebRule["PolicyMode"].asString();
+		if(!valueWebRulesWebRule["ProxyEnabled"].isNull())
+			webRulesObject.proxyEnabled = valueWebRulesWebRule["ProxyEnabled"].asString() == "true";
+		if(!valueWebRulesWebRule["Ssl13Enabled"].isNull())
+			webRulesObject.ssl13Enabled = valueWebRulesWebRule["Ssl13Enabled"].asString() == "true";
+		if(!valueWebRulesWebRule["PunishStatus"].isNull())
+			webRulesObject.punishStatus = valueWebRulesWebRule["PunishStatus"].asString() == "true";
+		if(!valueWebRulesWebRule["PunishReason"].isNull())
+			webRulesObject.punishReason = std::stoi(valueWebRulesWebRule["PunishReason"].asString());
 		if(!valueWebRulesWebRule["Cname"].isNull())
 			webRulesObject.cname = valueWebRulesWebRule["Cname"].asString();
 		if(!valueWebRulesWebRule["CertName"].isNull())
@@ -88,6 +102,9 @@ void DescribeWebRulesResult::parse(const std::string &payload)
 		auto allBlackList = value["BlackList"]["BlackItem"];
 		for (auto value : allBlackList)
 			webRulesObject.blackList.push_back(value.asString());
+		auto allCustomCiphers = value["CustomCiphers"]["CustomCipher"];
+		for (auto value : allCustomCiphers)
+			webRulesObject.customCiphers.push_back(value.asString());
 		webRules_.push_back(webRulesObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 117 - 0
ddoscoo/src/model/ModifyDomainResourceRequest.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/ddoscoo/model/ModifyDomainResourceRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::ModifyDomainResourceRequest;
+
+ModifyDomainResourceRequest::ModifyDomainResourceRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "ModifyDomainResource")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyDomainResourceRequest::~ModifyDomainResourceRequest()
+{}
+
+std::string ModifyDomainResourceRequest::getHttpsExt()const
+{
+	return httpsExt_;
+}
+
+void ModifyDomainResourceRequest::setHttpsExt(const std::string& httpsExt)
+{
+	httpsExt_ = httpsExt;
+	setParameter("HttpsExt", httpsExt);
+}
+
+std::string ModifyDomainResourceRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyDomainResourceRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int ModifyDomainResourceRequest::getRsType()const
+{
+	return rsType_;
+}
+
+void ModifyDomainResourceRequest::setRsType(int rsType)
+{
+	rsType_ = rsType;
+	setParameter("RsType", std::to_string(rsType));
+}
+
+std::vector<std::string> ModifyDomainResourceRequest::getRealServers()const
+{
+	return realServers_;
+}
+
+void ModifyDomainResourceRequest::setRealServers(const std::vector<std::string>& realServers)
+{
+	realServers_ = realServers;
+	for(int dep1 = 0; dep1!= realServers.size(); dep1++) {
+		setParameter("RealServers."+ std::to_string(dep1), realServers.at(dep1));
+	}
+}
+
+std::vector<ModifyDomainResourceRequest::ProxyTypes> ModifyDomainResourceRequest::getProxyTypes()const
+{
+	return proxyTypes_;
+}
+
+void ModifyDomainResourceRequest::setProxyTypes(const std::vector<ProxyTypes>& proxyTypes)
+{
+	proxyTypes_ = proxyTypes;
+	for(int dep1 = 0; dep1!= proxyTypes.size(); dep1++) {
+		auto proxyTypesObj = proxyTypes.at(dep1);
+		std::string proxyTypesObjStr = "ProxyTypes." + std::to_string(dep1 + 1);
+		for(int dep2 = 0; dep2!= proxyTypesObj.proxyPorts.size(); dep2++) {
+			setParameter(proxyTypesObjStr + ".ProxyPorts."+ std::to_string(dep2), std::to_string(proxyTypesObj.proxyPorts.at(dep2)));
+		}
+		setParameter(proxyTypesObjStr + ".ProxyType", proxyTypesObj.proxyType);
+	}
+}
+
+std::vector<std::string> ModifyDomainResourceRequest::getInstanceIds()const
+{
+	return instanceIds_;
+}
+
+void ModifyDomainResourceRequest::setInstanceIds(const std::vector<std::string>& instanceIds)
+{
+	instanceIds_ = instanceIds;
+	for(int dep1 = 0; dep1!= instanceIds.size(); dep1++) {
+		setParameter("InstanceIds."+ std::to_string(dep1), instanceIds.at(dep1));
+	}
+}
+
+std::string ModifyDomainResourceRequest::getDomain()const
+{
+	return domain_;
+}
+
+void ModifyDomainResourceRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+

+ 44 - 0
ddoscoo/src/model/ModifyDomainResourceResult.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/ddoscoo/model/ModifyDomainResourceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+ModifyDomainResourceResult::ModifyDomainResourceResult() :
+	ServiceResult()
+{}
+
+ModifyDomainResourceResult::ModifyDomainResourceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyDomainResourceResult::~ModifyDomainResourceResult()
+{}
+
+void ModifyDomainResourceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 97 - 0
ddoscoo/src/model/ModifyPortRequest.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/ddoscoo/model/ModifyPortRequest.h>
+
+using AlibabaCloud::Ddoscoo::Model::ModifyPortRequest;
+
+ModifyPortRequest::ModifyPortRequest() :
+	RpcServiceRequest("ddoscoo", "2020-01-01", "ModifyPort")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyPortRequest::~ModifyPortRequest()
+{}
+
+std::string ModifyPortRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyPortRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyPortRequest::getBackendPort()const
+{
+	return backendPort_;
+}
+
+void ModifyPortRequest::setBackendPort(const std::string& backendPort)
+{
+	backendPort_ = backendPort;
+	setParameter("BackendPort", backendPort);
+}
+
+std::string ModifyPortRequest::getFrontendProtocol()const
+{
+	return frontendProtocol_;
+}
+
+void ModifyPortRequest::setFrontendProtocol(const std::string& frontendProtocol)
+{
+	frontendProtocol_ = frontendProtocol;
+	setParameter("FrontendProtocol", frontendProtocol);
+}
+
+std::string ModifyPortRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyPortRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::vector<std::string> ModifyPortRequest::getRealServers()const
+{
+	return realServers_;
+}
+
+void ModifyPortRequest::setRealServers(const std::vector<std::string>& realServers)
+{
+	realServers_ = realServers;
+	for(int dep1 = 0; dep1!= realServers.size(); dep1++) {
+		setParameter("RealServers."+ std::to_string(dep1), realServers.at(dep1));
+	}
+}
+
+std::string ModifyPortRequest::getFrontendPort()const
+{
+	return frontendPort_;
+}
+
+void ModifyPortRequest::setFrontendPort(const std::string& frontendPort)
+{
+	frontendPort_ = frontendPort;
+	setParameter("FrontendPort", frontendPort);
+}
+

+ 44 - 0
ddoscoo/src/model/ModifyPortResult.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/ddoscoo/model/ModifyPortResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddoscoo;
+using namespace AlibabaCloud::Ddoscoo::Model;
+
+ModifyPortResult::ModifyPortResult() :
+	ServiceResult()
+{}
+
+ModifyPortResult::ModifyPortResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyPortResult::~ModifyPortResult()
+{}
+
+void ModifyPortResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 11 - 0
ddoscoo/src/model/ModifyWebRuleRequest.cc

@@ -27,6 +27,17 @@ ModifyWebRuleRequest::ModifyWebRuleRequest() :
 ModifyWebRuleRequest::~ModifyWebRuleRequest()
 {}
 
+std::string ModifyWebRuleRequest::getHttpsExt()const
+{
+	return httpsExt_;
+}
+
+void ModifyWebRuleRequest::setHttpsExt(const std::string& httpsExt)
+{
+	httpsExt_ = httpsExt;
+	setParameter("HttpsExt", httpsExt);
+}
+
 std::string ModifyWebRuleRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;