ソースを参照

Supported API for GTM.

sdk-team 5 年 前
コミット
7942407bc1
97 ファイル変更6263 行追加271 行削除
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 82 2
      alidns/CMakeLists.txt
  4. 160 0
      alidns/include/alibabacloud/alidns/AlidnsClient.h
  5. 48 0
      alidns/include/alibabacloud/alidns/model/CreatePdnsAppKeyRequest.h
  6. 49 0
      alidns/include/alibabacloud/alidns/model/CreatePdnsAppKeyResult.h
  7. 54 0
      alidns/include/alibabacloud/alidns/model/CreatePdnsUdpIpSegmentRequest.h
  8. 51 0
      alidns/include/alibabacloud/alidns/model/CreatePdnsUdpIpSegmentResult.h
  9. 7 4
      alidns/include/alibabacloud/alidns/model/DescribeDnsGtmInstanceResult.h
  10. 5 2
      alidns/include/alibabacloud/alidns/model/DescribeDnsGtmInstancesResult.h
  11. 4 2
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceResult.h
  12. 2 1
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstancesResult.h
  13. 54 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsAccountSummaryRequest.h
  14. 61 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsAccountSummaryResult.h
  15. 51 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeyRequest.h
  16. 58 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeyResult.h
  17. 48 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeysRequest.h
  18. 57 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeysResult.h
  19. 66 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsOperateLogsRequest.h
  20. 64 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsOperateLogsResult.h
  21. 63 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticRequest.h
  22. 67 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticResult.h
  23. 72 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticsRequest.h
  24. 82 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticsResult.h
  25. 72 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsThreatLogsRequest.h
  26. 65 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsThreatLogsResult.h
  27. 60 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticRequest.h
  28. 60 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticResult.h
  29. 84 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticsRequest.h
  30. 71 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticsResult.h
  31. 54 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsUdpIpSegmentsRequest.h
  32. 66 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsUdpIpSegmentsResult.h
  33. 48 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsUserInfoRequest.h
  34. 59 0
      alidns/include/alibabacloud/alidns/model/DescribePdnsUserInfoResult.h
  35. 51 0
      alidns/include/alibabacloud/alidns/model/PausePdnsServiceRequest.h
  36. 49 0
      alidns/include/alibabacloud/alidns/model/PausePdnsServiceResult.h
  37. 51 0
      alidns/include/alibabacloud/alidns/model/RemovePdnsAppKeyRequest.h
  38. 49 0
      alidns/include/alibabacloud/alidns/model/RemovePdnsAppKeyResult.h
  39. 51 0
      alidns/include/alibabacloud/alidns/model/RemovePdnsUdpIpSegmentRequest.h
  40. 49 0
      alidns/include/alibabacloud/alidns/model/RemovePdnsUdpIpSegmentResult.h
  41. 51 0
      alidns/include/alibabacloud/alidns/model/ResumePdnsServiceRequest.h
  42. 49 0
      alidns/include/alibabacloud/alidns/model/ResumePdnsServiceResult.h
  43. 54 0
      alidns/include/alibabacloud/alidns/model/UpdateAppKeyStateRequest.h
  44. 49 0
      alidns/include/alibabacloud/alidns/model/UpdateAppKeyStateResult.h
  45. 3 0
      alidns/include/alibabacloud/alidns/model/UpdateDnsGtmAccessStrategyRequest.h
  46. 7 0
      alidns/include/alibabacloud/alidns/model/UpdateDnsGtmInstanceGlobalConfigRequest.h
  47. 66 0
      alidns/include/alibabacloud/alidns/model/ValidateDnsGtmCnameRrCanUseRequest.h
  48. 49 0
      alidns/include/alibabacloud/alidns/model/ValidateDnsGtmCnameRrCanUseResult.h
  49. 51 0
      alidns/include/alibabacloud/alidns/model/ValidatePdnsUdpIpSegmentRequest.h
  50. 49 0
      alidns/include/alibabacloud/alidns/model/ValidatePdnsUdpIpSegmentResult.h
  51. 763 151
      alidns/src/AlidnsClient.cc
  52. 40 0
      alidns/src/model/CreatePdnsAppKeyRequest.cc
  53. 44 0
      alidns/src/model/CreatePdnsAppKeyResult.cc
  54. 62 0
      alidns/src/model/CreatePdnsUdpIpSegmentRequest.cc
  55. 51 0
      alidns/src/model/CreatePdnsUdpIpSegmentResult.cc
  56. 36 30
      alidns/src/model/DescribeDnsGtmInstanceResult.cc
  57. 38 32
      alidns/src/model/DescribeDnsGtmInstancesResult.cc
  58. 29 22
      alidns/src/model/DescribeGtmInstanceResult.cc
  59. 26 24
      alidns/src/model/DescribeGtmInstancesResult.cc
  60. 62 0
      alidns/src/model/DescribePdnsAccountSummaryRequest.cc
  61. 64 0
      alidns/src/model/DescribePdnsAccountSummaryResult.cc
  62. 51 0
      alidns/src/model/DescribePdnsAppKeyRequest.cc
  63. 58 0
      alidns/src/model/DescribePdnsAppKeyResult.cc
  64. 40 0
      alidns/src/model/DescribePdnsAppKeysRequest.cc
  65. 61 0
      alidns/src/model/DescribePdnsAppKeysResult.cc
  66. 106 0
      alidns/src/model/DescribePdnsOperateLogsRequest.cc
  67. 84 0
      alidns/src/model/DescribePdnsOperateLogsResult.cc
  68. 95 0
      alidns/src/model/DescribePdnsRequestStatisticRequest.cc
  69. 81 0
      alidns/src/model/DescribePdnsRequestStatisticResult.cc
  70. 128 0
      alidns/src/model/DescribePdnsRequestStatisticsRequest.cc
  71. 118 0
      alidns/src/model/DescribePdnsRequestStatisticsResult.cc
  72. 128 0
      alidns/src/model/DescribePdnsThreatLogsRequest.cc
  73. 86 0
      alidns/src/model/DescribePdnsThreatLogsResult.cc
  74. 84 0
      alidns/src/model/DescribePdnsThreatStatisticRequest.cc
  75. 67 0
      alidns/src/model/DescribePdnsThreatStatisticResult.cc
  76. 172 0
      alidns/src/model/DescribePdnsThreatStatisticsRequest.cc
  77. 98 0
      alidns/src/model/DescribePdnsThreatStatisticsResult.cc
  78. 62 0
      alidns/src/model/DescribePdnsUdpIpSegmentsRequest.cc
  79. 88 0
      alidns/src/model/DescribePdnsUdpIpSegmentsResult.cc
  80. 40 0
      alidns/src/model/DescribePdnsUserInfoRequest.cc
  81. 60 0
      alidns/src/model/DescribePdnsUserInfoResult.cc
  82. 51 0
      alidns/src/model/PausePdnsServiceRequest.cc
  83. 44 0
      alidns/src/model/PausePdnsServiceResult.cc
  84. 51 0
      alidns/src/model/RemovePdnsAppKeyRequest.cc
  85. 44 0
      alidns/src/model/RemovePdnsAppKeyResult.cc
  86. 51 0
      alidns/src/model/RemovePdnsUdpIpSegmentRequest.cc
  87. 44 0
      alidns/src/model/RemovePdnsUdpIpSegmentResult.cc
  88. 51 0
      alidns/src/model/ResumePdnsServiceRequest.cc
  89. 44 0
      alidns/src/model/ResumePdnsServiceResult.cc
  90. 62 0
      alidns/src/model/UpdateAppKeyStateRequest.cc
  91. 44 0
      alidns/src/model/UpdateAppKeyStateResult.cc
  92. 11 0
      alidns/src/model/UpdateDnsGtmAccessStrategyRequest.cc
  93. 23 0
      alidns/src/model/UpdateDnsGtmInstanceGlobalConfigRequest.cc
  94. 106 0
      alidns/src/model/ValidateDnsGtmCnameRrCanUseRequest.cc
  95. 44 0
      alidns/src/model/ValidateDnsGtmCnameRrCanUseResult.cc
  96. 51 0
      alidns/src/model/ValidatePdnsUdpIpSegmentRequest.cc
  97. 44 0
      alidns/src/model/ValidatePdnsUdpIpSegmentResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-09-22 Version: 1.36.881
+- Supported API for GTM.
+
 2021-09-22 Version: 1.36.880
 - Modify CreateK8sSecret.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.880
+1.36.881

+ 82 - 2
alidns/CMakeLists.txt

@@ -55,6 +55,10 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/ChangeDomainOfDnsProductResult.h
 	include/alibabacloud/alidns/model/CopyGtmConfigRequest.h
 	include/alibabacloud/alidns/model/CopyGtmConfigResult.h
+	include/alibabacloud/alidns/model/CreatePdnsAppKeyRequest.h
+	include/alibabacloud/alidns/model/CreatePdnsAppKeyResult.h
+	include/alibabacloud/alidns/model/CreatePdnsUdpIpSegmentRequest.h
+	include/alibabacloud/alidns/model/CreatePdnsUdpIpSegmentResult.h
 	include/alibabacloud/alidns/model/DeleteCustomLinesRequest.h
 	include/alibabacloud/alidns/model/DeleteCustomLinesResult.h
 	include/alibabacloud/alidns/model/DeleteDnsCacheDomainRequest.h
@@ -189,6 +193,28 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/DescribeGtmRecoveryPlansResult.h
 	include/alibabacloud/alidns/model/DescribeInstanceDomainsRequest.h
 	include/alibabacloud/alidns/model/DescribeInstanceDomainsResult.h
+	include/alibabacloud/alidns/model/DescribePdnsAccountSummaryRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsAccountSummaryResult.h
+	include/alibabacloud/alidns/model/DescribePdnsAppKeyRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsAppKeyResult.h
+	include/alibabacloud/alidns/model/DescribePdnsAppKeysRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsAppKeysResult.h
+	include/alibabacloud/alidns/model/DescribePdnsOperateLogsRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsOperateLogsResult.h
+	include/alibabacloud/alidns/model/DescribePdnsRequestStatisticRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsRequestStatisticResult.h
+	include/alibabacloud/alidns/model/DescribePdnsRequestStatisticsRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsRequestStatisticsResult.h
+	include/alibabacloud/alidns/model/DescribePdnsThreatLogsRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsThreatLogsResult.h
+	include/alibabacloud/alidns/model/DescribePdnsThreatStatisticRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsThreatStatisticResult.h
+	include/alibabacloud/alidns/model/DescribePdnsThreatStatisticsRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsThreatStatisticsResult.h
+	include/alibabacloud/alidns/model/DescribePdnsUdpIpSegmentsRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsUdpIpSegmentsResult.h
+	include/alibabacloud/alidns/model/DescribePdnsUserInfoRequest.h
+	include/alibabacloud/alidns/model/DescribePdnsUserInfoResult.h
 	include/alibabacloud/alidns/model/DescribeRecordLogsRequest.h
 	include/alibabacloud/alidns/model/DescribeRecordLogsResult.h
 	include/alibabacloud/alidns/model/DescribeRecordStatisticsRequest.h
@@ -219,8 +245,16 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/MoveGtmResourceGroupResult.h
 	include/alibabacloud/alidns/model/OperateBatchDomainRequest.h
 	include/alibabacloud/alidns/model/OperateBatchDomainResult.h
+	include/alibabacloud/alidns/model/PausePdnsServiceRequest.h
+	include/alibabacloud/alidns/model/PausePdnsServiceResult.h
 	include/alibabacloud/alidns/model/PreviewGtmRecoveryPlanRequest.h
 	include/alibabacloud/alidns/model/PreviewGtmRecoveryPlanResult.h
+	include/alibabacloud/alidns/model/RemovePdnsAppKeyRequest.h
+	include/alibabacloud/alidns/model/RemovePdnsAppKeyResult.h
+	include/alibabacloud/alidns/model/RemovePdnsUdpIpSegmentRequest.h
+	include/alibabacloud/alidns/model/RemovePdnsUdpIpSegmentResult.h
+	include/alibabacloud/alidns/model/ResumePdnsServiceRequest.h
+	include/alibabacloud/alidns/model/ResumePdnsServiceResult.h
 	include/alibabacloud/alidns/model/RetrieveDomainRequest.h
 	include/alibabacloud/alidns/model/RetrieveDomainResult.h
 	include/alibabacloud/alidns/model/RollbackGtmRecoveryPlanRequest.h
@@ -249,6 +283,8 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/UnbindInstanceDomainsResult.h
 	include/alibabacloud/alidns/model/UntagResourcesRequest.h
 	include/alibabacloud/alidns/model/UntagResourcesResult.h
+	include/alibabacloud/alidns/model/UpdateAppKeyStateRequest.h
+	include/alibabacloud/alidns/model/UpdateAppKeyStateResult.h
 	include/alibabacloud/alidns/model/UpdateCustomLineRequest.h
 	include/alibabacloud/alidns/model/UpdateCustomLineResult.h
 	include/alibabacloud/alidns/model/UpdateDNSSLBWeightRequest.h
@@ -282,7 +318,11 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/UpdateGtmMonitorRequest.h
 	include/alibabacloud/alidns/model/UpdateGtmMonitorResult.h
 	include/alibabacloud/alidns/model/UpdateGtmRecoveryPlanRequest.h
-	include/alibabacloud/alidns/model/UpdateGtmRecoveryPlanResult.h )
+	include/alibabacloud/alidns/model/UpdateGtmRecoveryPlanResult.h
+	include/alibabacloud/alidns/model/ValidateDnsGtmCnameRrCanUseRequest.h
+	include/alibabacloud/alidns/model/ValidateDnsGtmCnameRrCanUseResult.h
+	include/alibabacloud/alidns/model/ValidatePdnsUdpIpSegmentRequest.h
+	include/alibabacloud/alidns/model/ValidatePdnsUdpIpSegmentResult.h )
 
 set(alidns_src 
 	src/AlidnsClient.cc
@@ -320,6 +360,10 @@ set(alidns_src
 	src/model/ChangeDomainOfDnsProductResult.cc
 	src/model/CopyGtmConfigRequest.cc
 	src/model/CopyGtmConfigResult.cc
+	src/model/CreatePdnsAppKeyRequest.cc
+	src/model/CreatePdnsAppKeyResult.cc
+	src/model/CreatePdnsUdpIpSegmentRequest.cc
+	src/model/CreatePdnsUdpIpSegmentResult.cc
 	src/model/DeleteCustomLinesRequest.cc
 	src/model/DeleteCustomLinesResult.cc
 	src/model/DeleteDnsCacheDomainRequest.cc
@@ -454,6 +498,28 @@ set(alidns_src
 	src/model/DescribeGtmRecoveryPlansResult.cc
 	src/model/DescribeInstanceDomainsRequest.cc
 	src/model/DescribeInstanceDomainsResult.cc
+	src/model/DescribePdnsAccountSummaryRequest.cc
+	src/model/DescribePdnsAccountSummaryResult.cc
+	src/model/DescribePdnsAppKeyRequest.cc
+	src/model/DescribePdnsAppKeyResult.cc
+	src/model/DescribePdnsAppKeysRequest.cc
+	src/model/DescribePdnsAppKeysResult.cc
+	src/model/DescribePdnsOperateLogsRequest.cc
+	src/model/DescribePdnsOperateLogsResult.cc
+	src/model/DescribePdnsRequestStatisticRequest.cc
+	src/model/DescribePdnsRequestStatisticResult.cc
+	src/model/DescribePdnsRequestStatisticsRequest.cc
+	src/model/DescribePdnsRequestStatisticsResult.cc
+	src/model/DescribePdnsThreatLogsRequest.cc
+	src/model/DescribePdnsThreatLogsResult.cc
+	src/model/DescribePdnsThreatStatisticRequest.cc
+	src/model/DescribePdnsThreatStatisticResult.cc
+	src/model/DescribePdnsThreatStatisticsRequest.cc
+	src/model/DescribePdnsThreatStatisticsResult.cc
+	src/model/DescribePdnsUdpIpSegmentsRequest.cc
+	src/model/DescribePdnsUdpIpSegmentsResult.cc
+	src/model/DescribePdnsUserInfoRequest.cc
+	src/model/DescribePdnsUserInfoResult.cc
 	src/model/DescribeRecordLogsRequest.cc
 	src/model/DescribeRecordLogsResult.cc
 	src/model/DescribeRecordStatisticsRequest.cc
@@ -484,8 +550,16 @@ set(alidns_src
 	src/model/MoveGtmResourceGroupResult.cc
 	src/model/OperateBatchDomainRequest.cc
 	src/model/OperateBatchDomainResult.cc
+	src/model/PausePdnsServiceRequest.cc
+	src/model/PausePdnsServiceResult.cc
 	src/model/PreviewGtmRecoveryPlanRequest.cc
 	src/model/PreviewGtmRecoveryPlanResult.cc
+	src/model/RemovePdnsAppKeyRequest.cc
+	src/model/RemovePdnsAppKeyResult.cc
+	src/model/RemovePdnsUdpIpSegmentRequest.cc
+	src/model/RemovePdnsUdpIpSegmentResult.cc
+	src/model/ResumePdnsServiceRequest.cc
+	src/model/ResumePdnsServiceResult.cc
 	src/model/RetrieveDomainRequest.cc
 	src/model/RetrieveDomainResult.cc
 	src/model/RollbackGtmRecoveryPlanRequest.cc
@@ -514,6 +588,8 @@ set(alidns_src
 	src/model/UnbindInstanceDomainsResult.cc
 	src/model/UntagResourcesRequest.cc
 	src/model/UntagResourcesResult.cc
+	src/model/UpdateAppKeyStateRequest.cc
+	src/model/UpdateAppKeyStateResult.cc
 	src/model/UpdateCustomLineRequest.cc
 	src/model/UpdateCustomLineResult.cc
 	src/model/UpdateDNSSLBWeightRequest.cc
@@ -547,7 +623,11 @@ set(alidns_src
 	src/model/UpdateGtmMonitorRequest.cc
 	src/model/UpdateGtmMonitorResult.cc
 	src/model/UpdateGtmRecoveryPlanRequest.cc
-	src/model/UpdateGtmRecoveryPlanResult.cc )
+	src/model/UpdateGtmRecoveryPlanResult.cc
+	src/model/ValidateDnsGtmCnameRrCanUseRequest.cc
+	src/model/ValidateDnsGtmCnameRrCanUseResult.cc
+	src/model/ValidatePdnsUdpIpSegmentRequest.cc
+	src/model/ValidatePdnsUdpIpSegmentResult.cc )
 
 add_library(alidns ${LIB_TYPE}
 	${alidns_public_header}

+ 160 - 0
alidns/include/alibabacloud/alidns/AlidnsClient.h

@@ -56,6 +56,10 @@
 #include "model/ChangeDomainOfDnsProductResult.h"
 #include "model/CopyGtmConfigRequest.h"
 #include "model/CopyGtmConfigResult.h"
+#include "model/CreatePdnsAppKeyRequest.h"
+#include "model/CreatePdnsAppKeyResult.h"
+#include "model/CreatePdnsUdpIpSegmentRequest.h"
+#include "model/CreatePdnsUdpIpSegmentResult.h"
 #include "model/DeleteCustomLinesRequest.h"
 #include "model/DeleteCustomLinesResult.h"
 #include "model/DeleteDnsCacheDomainRequest.h"
@@ -190,6 +194,28 @@
 #include "model/DescribeGtmRecoveryPlansResult.h"
 #include "model/DescribeInstanceDomainsRequest.h"
 #include "model/DescribeInstanceDomainsResult.h"
+#include "model/DescribePdnsAccountSummaryRequest.h"
+#include "model/DescribePdnsAccountSummaryResult.h"
+#include "model/DescribePdnsAppKeyRequest.h"
+#include "model/DescribePdnsAppKeyResult.h"
+#include "model/DescribePdnsAppKeysRequest.h"
+#include "model/DescribePdnsAppKeysResult.h"
+#include "model/DescribePdnsOperateLogsRequest.h"
+#include "model/DescribePdnsOperateLogsResult.h"
+#include "model/DescribePdnsRequestStatisticRequest.h"
+#include "model/DescribePdnsRequestStatisticResult.h"
+#include "model/DescribePdnsRequestStatisticsRequest.h"
+#include "model/DescribePdnsRequestStatisticsResult.h"
+#include "model/DescribePdnsThreatLogsRequest.h"
+#include "model/DescribePdnsThreatLogsResult.h"
+#include "model/DescribePdnsThreatStatisticRequest.h"
+#include "model/DescribePdnsThreatStatisticResult.h"
+#include "model/DescribePdnsThreatStatisticsRequest.h"
+#include "model/DescribePdnsThreatStatisticsResult.h"
+#include "model/DescribePdnsUdpIpSegmentsRequest.h"
+#include "model/DescribePdnsUdpIpSegmentsResult.h"
+#include "model/DescribePdnsUserInfoRequest.h"
+#include "model/DescribePdnsUserInfoResult.h"
 #include "model/DescribeRecordLogsRequest.h"
 #include "model/DescribeRecordLogsResult.h"
 #include "model/DescribeRecordStatisticsRequest.h"
@@ -220,8 +246,16 @@
 #include "model/MoveGtmResourceGroupResult.h"
 #include "model/OperateBatchDomainRequest.h"
 #include "model/OperateBatchDomainResult.h"
+#include "model/PausePdnsServiceRequest.h"
+#include "model/PausePdnsServiceResult.h"
 #include "model/PreviewGtmRecoveryPlanRequest.h"
 #include "model/PreviewGtmRecoveryPlanResult.h"
+#include "model/RemovePdnsAppKeyRequest.h"
+#include "model/RemovePdnsAppKeyResult.h"
+#include "model/RemovePdnsUdpIpSegmentRequest.h"
+#include "model/RemovePdnsUdpIpSegmentResult.h"
+#include "model/ResumePdnsServiceRequest.h"
+#include "model/ResumePdnsServiceResult.h"
 #include "model/RetrieveDomainRequest.h"
 #include "model/RetrieveDomainResult.h"
 #include "model/RollbackGtmRecoveryPlanRequest.h"
@@ -250,6 +284,8 @@
 #include "model/UnbindInstanceDomainsResult.h"
 #include "model/UntagResourcesRequest.h"
 #include "model/UntagResourcesResult.h"
+#include "model/UpdateAppKeyStateRequest.h"
+#include "model/UpdateAppKeyStateResult.h"
 #include "model/UpdateCustomLineRequest.h"
 #include "model/UpdateCustomLineResult.h"
 #include "model/UpdateDNSSLBWeightRequest.h"
@@ -284,6 +320,10 @@
 #include "model/UpdateGtmMonitorResult.h"
 #include "model/UpdateGtmRecoveryPlanRequest.h"
 #include "model/UpdateGtmRecoveryPlanResult.h"
+#include "model/ValidateDnsGtmCnameRrCanUseRequest.h"
+#include "model/ValidateDnsGtmCnameRrCanUseResult.h"
+#include "model/ValidatePdnsUdpIpSegmentRequest.h"
+#include "model/ValidatePdnsUdpIpSegmentResult.h"
 
 
 namespace AlibabaCloud
@@ -344,6 +384,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CopyGtmConfigResult> CopyGtmConfigOutcome;
 			typedef std::future<CopyGtmConfigOutcome> CopyGtmConfigOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::CopyGtmConfigRequest&, const CopyGtmConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CopyGtmConfigAsyncHandler;
+			typedef Outcome<Error, Model::CreatePdnsAppKeyResult> CreatePdnsAppKeyOutcome;
+			typedef std::future<CreatePdnsAppKeyOutcome> CreatePdnsAppKeyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::CreatePdnsAppKeyRequest&, const CreatePdnsAppKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePdnsAppKeyAsyncHandler;
+			typedef Outcome<Error, Model::CreatePdnsUdpIpSegmentResult> CreatePdnsUdpIpSegmentOutcome;
+			typedef std::future<CreatePdnsUdpIpSegmentOutcome> CreatePdnsUdpIpSegmentOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::CreatePdnsUdpIpSegmentRequest&, const CreatePdnsUdpIpSegmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePdnsUdpIpSegmentAsyncHandler;
 			typedef Outcome<Error, Model::DeleteCustomLinesResult> DeleteCustomLinesOutcome;
 			typedef std::future<DeleteCustomLinesOutcome> DeleteCustomLinesOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::DeleteCustomLinesRequest&, const DeleteCustomLinesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCustomLinesAsyncHandler;
@@ -545,6 +591,39 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceDomainsResult> DescribeInstanceDomainsOutcome;
 			typedef std::future<DescribeInstanceDomainsOutcome> DescribeInstanceDomainsOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::DescribeInstanceDomainsRequest&, const DescribeInstanceDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceDomainsAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsAccountSummaryResult> DescribePdnsAccountSummaryOutcome;
+			typedef std::future<DescribePdnsAccountSummaryOutcome> DescribePdnsAccountSummaryOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsAccountSummaryRequest&, const DescribePdnsAccountSummaryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsAccountSummaryAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsAppKeyResult> DescribePdnsAppKeyOutcome;
+			typedef std::future<DescribePdnsAppKeyOutcome> DescribePdnsAppKeyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsAppKeyRequest&, const DescribePdnsAppKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsAppKeyAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsAppKeysResult> DescribePdnsAppKeysOutcome;
+			typedef std::future<DescribePdnsAppKeysOutcome> DescribePdnsAppKeysOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsAppKeysRequest&, const DescribePdnsAppKeysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsAppKeysAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsOperateLogsResult> DescribePdnsOperateLogsOutcome;
+			typedef std::future<DescribePdnsOperateLogsOutcome> DescribePdnsOperateLogsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsOperateLogsRequest&, const DescribePdnsOperateLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsOperateLogsAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsRequestStatisticResult> DescribePdnsRequestStatisticOutcome;
+			typedef std::future<DescribePdnsRequestStatisticOutcome> DescribePdnsRequestStatisticOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsRequestStatisticRequest&, const DescribePdnsRequestStatisticOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsRequestStatisticAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsRequestStatisticsResult> DescribePdnsRequestStatisticsOutcome;
+			typedef std::future<DescribePdnsRequestStatisticsOutcome> DescribePdnsRequestStatisticsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsRequestStatisticsRequest&, const DescribePdnsRequestStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsRequestStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsThreatLogsResult> DescribePdnsThreatLogsOutcome;
+			typedef std::future<DescribePdnsThreatLogsOutcome> DescribePdnsThreatLogsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsThreatLogsRequest&, const DescribePdnsThreatLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsThreatLogsAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsThreatStatisticResult> DescribePdnsThreatStatisticOutcome;
+			typedef std::future<DescribePdnsThreatStatisticOutcome> DescribePdnsThreatStatisticOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsThreatStatisticRequest&, const DescribePdnsThreatStatisticOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsThreatStatisticAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsThreatStatisticsResult> DescribePdnsThreatStatisticsOutcome;
+			typedef std::future<DescribePdnsThreatStatisticsOutcome> DescribePdnsThreatStatisticsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsThreatStatisticsRequest&, const DescribePdnsThreatStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsThreatStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsUdpIpSegmentsResult> DescribePdnsUdpIpSegmentsOutcome;
+			typedef std::future<DescribePdnsUdpIpSegmentsOutcome> DescribePdnsUdpIpSegmentsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsUdpIpSegmentsRequest&, const DescribePdnsUdpIpSegmentsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsUdpIpSegmentsAsyncHandler;
+			typedef Outcome<Error, Model::DescribePdnsUserInfoResult> DescribePdnsUserInfoOutcome;
+			typedef std::future<DescribePdnsUserInfoOutcome> DescribePdnsUserInfoOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribePdnsUserInfoRequest&, const DescribePdnsUserInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePdnsUserInfoAsyncHandler;
 			typedef Outcome<Error, Model::DescribeRecordLogsResult> DescribeRecordLogsOutcome;
 			typedef std::future<DescribeRecordLogsOutcome> DescribeRecordLogsOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::DescribeRecordLogsRequest&, const DescribeRecordLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRecordLogsAsyncHandler;
@@ -590,9 +669,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::OperateBatchDomainResult> OperateBatchDomainOutcome;
 			typedef std::future<OperateBatchDomainOutcome> OperateBatchDomainOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::OperateBatchDomainRequest&, const OperateBatchDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OperateBatchDomainAsyncHandler;
+			typedef Outcome<Error, Model::PausePdnsServiceResult> PausePdnsServiceOutcome;
+			typedef std::future<PausePdnsServiceOutcome> PausePdnsServiceOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::PausePdnsServiceRequest&, const PausePdnsServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PausePdnsServiceAsyncHandler;
 			typedef Outcome<Error, Model::PreviewGtmRecoveryPlanResult> PreviewGtmRecoveryPlanOutcome;
 			typedef std::future<PreviewGtmRecoveryPlanOutcome> PreviewGtmRecoveryPlanOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::PreviewGtmRecoveryPlanRequest&, const PreviewGtmRecoveryPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PreviewGtmRecoveryPlanAsyncHandler;
+			typedef Outcome<Error, Model::RemovePdnsAppKeyResult> RemovePdnsAppKeyOutcome;
+			typedef std::future<RemovePdnsAppKeyOutcome> RemovePdnsAppKeyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::RemovePdnsAppKeyRequest&, const RemovePdnsAppKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemovePdnsAppKeyAsyncHandler;
+			typedef Outcome<Error, Model::RemovePdnsUdpIpSegmentResult> RemovePdnsUdpIpSegmentOutcome;
+			typedef std::future<RemovePdnsUdpIpSegmentOutcome> RemovePdnsUdpIpSegmentOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::RemovePdnsUdpIpSegmentRequest&, const RemovePdnsUdpIpSegmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemovePdnsUdpIpSegmentAsyncHandler;
+			typedef Outcome<Error, Model::ResumePdnsServiceResult> ResumePdnsServiceOutcome;
+			typedef std::future<ResumePdnsServiceOutcome> ResumePdnsServiceOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ResumePdnsServiceRequest&, const ResumePdnsServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResumePdnsServiceAsyncHandler;
 			typedef Outcome<Error, Model::RetrieveDomainResult> RetrieveDomainOutcome;
 			typedef std::future<RetrieveDomainOutcome> RetrieveDomainOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::RetrieveDomainRequest&, const RetrieveDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RetrieveDomainAsyncHandler;
@@ -635,6 +726,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
 			typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UpdateAppKeyStateResult> UpdateAppKeyStateOutcome;
+			typedef std::future<UpdateAppKeyStateOutcome> UpdateAppKeyStateOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateAppKeyStateRequest&, const UpdateAppKeyStateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAppKeyStateAsyncHandler;
 			typedef Outcome<Error, Model::UpdateCustomLineResult> UpdateCustomLineOutcome;
 			typedef std::future<UpdateCustomLineOutcome> UpdateCustomLineOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::UpdateCustomLineRequest&, const UpdateCustomLineOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCustomLineAsyncHandler;
@@ -686,6 +780,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateGtmRecoveryPlanResult> UpdateGtmRecoveryPlanOutcome;
 			typedef std::future<UpdateGtmRecoveryPlanOutcome> UpdateGtmRecoveryPlanOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::UpdateGtmRecoveryPlanRequest&, const UpdateGtmRecoveryPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGtmRecoveryPlanAsyncHandler;
+			typedef Outcome<Error, Model::ValidateDnsGtmCnameRrCanUseResult> ValidateDnsGtmCnameRrCanUseOutcome;
+			typedef std::future<ValidateDnsGtmCnameRrCanUseOutcome> ValidateDnsGtmCnameRrCanUseOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ValidateDnsGtmCnameRrCanUseRequest&, const ValidateDnsGtmCnameRrCanUseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ValidateDnsGtmCnameRrCanUseAsyncHandler;
+			typedef Outcome<Error, Model::ValidatePdnsUdpIpSegmentResult> ValidatePdnsUdpIpSegmentOutcome;
+			typedef std::future<ValidatePdnsUdpIpSegmentOutcome> ValidatePdnsUdpIpSegmentOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ValidatePdnsUdpIpSegmentRequest&, const ValidatePdnsUdpIpSegmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ValidatePdnsUdpIpSegmentAsyncHandler;
 
 			AlidnsClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			AlidnsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -742,6 +842,12 @@ namespace AlibabaCloud
 			CopyGtmConfigOutcome copyGtmConfig(const Model::CopyGtmConfigRequest &request)const;
 			void copyGtmConfigAsync(const Model::CopyGtmConfigRequest& request, const CopyGtmConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CopyGtmConfigOutcomeCallable copyGtmConfigCallable(const Model::CopyGtmConfigRequest& request) const;
+			CreatePdnsAppKeyOutcome createPdnsAppKey(const Model::CreatePdnsAppKeyRequest &request)const;
+			void createPdnsAppKeyAsync(const Model::CreatePdnsAppKeyRequest& request, const CreatePdnsAppKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePdnsAppKeyOutcomeCallable createPdnsAppKeyCallable(const Model::CreatePdnsAppKeyRequest& request) const;
+			CreatePdnsUdpIpSegmentOutcome createPdnsUdpIpSegment(const Model::CreatePdnsUdpIpSegmentRequest &request)const;
+			void createPdnsUdpIpSegmentAsync(const Model::CreatePdnsUdpIpSegmentRequest& request, const CreatePdnsUdpIpSegmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePdnsUdpIpSegmentOutcomeCallable createPdnsUdpIpSegmentCallable(const Model::CreatePdnsUdpIpSegmentRequest& request) const;
 			DeleteCustomLinesOutcome deleteCustomLines(const Model::DeleteCustomLinesRequest &request)const;
 			void deleteCustomLinesAsync(const Model::DeleteCustomLinesRequest& request, const DeleteCustomLinesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCustomLinesOutcomeCallable deleteCustomLinesCallable(const Model::DeleteCustomLinesRequest& request) const;
@@ -943,6 +1049,39 @@ namespace AlibabaCloud
 			DescribeInstanceDomainsOutcome describeInstanceDomains(const Model::DescribeInstanceDomainsRequest &request)const;
 			void describeInstanceDomainsAsync(const Model::DescribeInstanceDomainsRequest& request, const DescribeInstanceDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceDomainsOutcomeCallable describeInstanceDomainsCallable(const Model::DescribeInstanceDomainsRequest& request) const;
+			DescribePdnsAccountSummaryOutcome describePdnsAccountSummary(const Model::DescribePdnsAccountSummaryRequest &request)const;
+			void describePdnsAccountSummaryAsync(const Model::DescribePdnsAccountSummaryRequest& request, const DescribePdnsAccountSummaryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsAccountSummaryOutcomeCallable describePdnsAccountSummaryCallable(const Model::DescribePdnsAccountSummaryRequest& request) const;
+			DescribePdnsAppKeyOutcome describePdnsAppKey(const Model::DescribePdnsAppKeyRequest &request)const;
+			void describePdnsAppKeyAsync(const Model::DescribePdnsAppKeyRequest& request, const DescribePdnsAppKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsAppKeyOutcomeCallable describePdnsAppKeyCallable(const Model::DescribePdnsAppKeyRequest& request) const;
+			DescribePdnsAppKeysOutcome describePdnsAppKeys(const Model::DescribePdnsAppKeysRequest &request)const;
+			void describePdnsAppKeysAsync(const Model::DescribePdnsAppKeysRequest& request, const DescribePdnsAppKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsAppKeysOutcomeCallable describePdnsAppKeysCallable(const Model::DescribePdnsAppKeysRequest& request) const;
+			DescribePdnsOperateLogsOutcome describePdnsOperateLogs(const Model::DescribePdnsOperateLogsRequest &request)const;
+			void describePdnsOperateLogsAsync(const Model::DescribePdnsOperateLogsRequest& request, const DescribePdnsOperateLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsOperateLogsOutcomeCallable describePdnsOperateLogsCallable(const Model::DescribePdnsOperateLogsRequest& request) const;
+			DescribePdnsRequestStatisticOutcome describePdnsRequestStatistic(const Model::DescribePdnsRequestStatisticRequest &request)const;
+			void describePdnsRequestStatisticAsync(const Model::DescribePdnsRequestStatisticRequest& request, const DescribePdnsRequestStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsRequestStatisticOutcomeCallable describePdnsRequestStatisticCallable(const Model::DescribePdnsRequestStatisticRequest& request) const;
+			DescribePdnsRequestStatisticsOutcome describePdnsRequestStatistics(const Model::DescribePdnsRequestStatisticsRequest &request)const;
+			void describePdnsRequestStatisticsAsync(const Model::DescribePdnsRequestStatisticsRequest& request, const DescribePdnsRequestStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsRequestStatisticsOutcomeCallable describePdnsRequestStatisticsCallable(const Model::DescribePdnsRequestStatisticsRequest& request) const;
+			DescribePdnsThreatLogsOutcome describePdnsThreatLogs(const Model::DescribePdnsThreatLogsRequest &request)const;
+			void describePdnsThreatLogsAsync(const Model::DescribePdnsThreatLogsRequest& request, const DescribePdnsThreatLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsThreatLogsOutcomeCallable describePdnsThreatLogsCallable(const Model::DescribePdnsThreatLogsRequest& request) const;
+			DescribePdnsThreatStatisticOutcome describePdnsThreatStatistic(const Model::DescribePdnsThreatStatisticRequest &request)const;
+			void describePdnsThreatStatisticAsync(const Model::DescribePdnsThreatStatisticRequest& request, const DescribePdnsThreatStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsThreatStatisticOutcomeCallable describePdnsThreatStatisticCallable(const Model::DescribePdnsThreatStatisticRequest& request) const;
+			DescribePdnsThreatStatisticsOutcome describePdnsThreatStatistics(const Model::DescribePdnsThreatStatisticsRequest &request)const;
+			void describePdnsThreatStatisticsAsync(const Model::DescribePdnsThreatStatisticsRequest& request, const DescribePdnsThreatStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsThreatStatisticsOutcomeCallable describePdnsThreatStatisticsCallable(const Model::DescribePdnsThreatStatisticsRequest& request) const;
+			DescribePdnsUdpIpSegmentsOutcome describePdnsUdpIpSegments(const Model::DescribePdnsUdpIpSegmentsRequest &request)const;
+			void describePdnsUdpIpSegmentsAsync(const Model::DescribePdnsUdpIpSegmentsRequest& request, const DescribePdnsUdpIpSegmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsUdpIpSegmentsOutcomeCallable describePdnsUdpIpSegmentsCallable(const Model::DescribePdnsUdpIpSegmentsRequest& request) const;
+			DescribePdnsUserInfoOutcome describePdnsUserInfo(const Model::DescribePdnsUserInfoRequest &request)const;
+			void describePdnsUserInfoAsync(const Model::DescribePdnsUserInfoRequest& request, const DescribePdnsUserInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePdnsUserInfoOutcomeCallable describePdnsUserInfoCallable(const Model::DescribePdnsUserInfoRequest& request) const;
 			DescribeRecordLogsOutcome describeRecordLogs(const Model::DescribeRecordLogsRequest &request)const;
 			void describeRecordLogsAsync(const Model::DescribeRecordLogsRequest& request, const DescribeRecordLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRecordLogsOutcomeCallable describeRecordLogsCallable(const Model::DescribeRecordLogsRequest& request) const;
@@ -988,9 +1127,21 @@ namespace AlibabaCloud
 			OperateBatchDomainOutcome operateBatchDomain(const Model::OperateBatchDomainRequest &request)const;
 			void operateBatchDomainAsync(const Model::OperateBatchDomainRequest& request, const OperateBatchDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			OperateBatchDomainOutcomeCallable operateBatchDomainCallable(const Model::OperateBatchDomainRequest& request) const;
+			PausePdnsServiceOutcome pausePdnsService(const Model::PausePdnsServiceRequest &request)const;
+			void pausePdnsServiceAsync(const Model::PausePdnsServiceRequest& request, const PausePdnsServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PausePdnsServiceOutcomeCallable pausePdnsServiceCallable(const Model::PausePdnsServiceRequest& request) const;
 			PreviewGtmRecoveryPlanOutcome previewGtmRecoveryPlan(const Model::PreviewGtmRecoveryPlanRequest &request)const;
 			void previewGtmRecoveryPlanAsync(const Model::PreviewGtmRecoveryPlanRequest& request, const PreviewGtmRecoveryPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			PreviewGtmRecoveryPlanOutcomeCallable previewGtmRecoveryPlanCallable(const Model::PreviewGtmRecoveryPlanRequest& request) const;
+			RemovePdnsAppKeyOutcome removePdnsAppKey(const Model::RemovePdnsAppKeyRequest &request)const;
+			void removePdnsAppKeyAsync(const Model::RemovePdnsAppKeyRequest& request, const RemovePdnsAppKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemovePdnsAppKeyOutcomeCallable removePdnsAppKeyCallable(const Model::RemovePdnsAppKeyRequest& request) const;
+			RemovePdnsUdpIpSegmentOutcome removePdnsUdpIpSegment(const Model::RemovePdnsUdpIpSegmentRequest &request)const;
+			void removePdnsUdpIpSegmentAsync(const Model::RemovePdnsUdpIpSegmentRequest& request, const RemovePdnsUdpIpSegmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemovePdnsUdpIpSegmentOutcomeCallable removePdnsUdpIpSegmentCallable(const Model::RemovePdnsUdpIpSegmentRequest& request) const;
+			ResumePdnsServiceOutcome resumePdnsService(const Model::ResumePdnsServiceRequest &request)const;
+			void resumePdnsServiceAsync(const Model::ResumePdnsServiceRequest& request, const ResumePdnsServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResumePdnsServiceOutcomeCallable resumePdnsServiceCallable(const Model::ResumePdnsServiceRequest& request) const;
 			RetrieveDomainOutcome retrieveDomain(const Model::RetrieveDomainRequest &request)const;
 			void retrieveDomainAsync(const Model::RetrieveDomainRequest& request, const RetrieveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RetrieveDomainOutcomeCallable retrieveDomainCallable(const Model::RetrieveDomainRequest& request) const;
@@ -1033,6 +1184,9 @@ namespace AlibabaCloud
 			UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
 			void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
+			UpdateAppKeyStateOutcome updateAppKeyState(const Model::UpdateAppKeyStateRequest &request)const;
+			void updateAppKeyStateAsync(const Model::UpdateAppKeyStateRequest& request, const UpdateAppKeyStateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateAppKeyStateOutcomeCallable updateAppKeyStateCallable(const Model::UpdateAppKeyStateRequest& request) const;
 			UpdateCustomLineOutcome updateCustomLine(const Model::UpdateCustomLineRequest &request)const;
 			void updateCustomLineAsync(const Model::UpdateCustomLineRequest& request, const UpdateCustomLineAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateCustomLineOutcomeCallable updateCustomLineCallable(const Model::UpdateCustomLineRequest& request) const;
@@ -1084,6 +1238,12 @@ namespace AlibabaCloud
 			UpdateGtmRecoveryPlanOutcome updateGtmRecoveryPlan(const Model::UpdateGtmRecoveryPlanRequest &request)const;
 			void updateGtmRecoveryPlanAsync(const Model::UpdateGtmRecoveryPlanRequest& request, const UpdateGtmRecoveryPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateGtmRecoveryPlanOutcomeCallable updateGtmRecoveryPlanCallable(const Model::UpdateGtmRecoveryPlanRequest& request) const;
+			ValidateDnsGtmCnameRrCanUseOutcome validateDnsGtmCnameRrCanUse(const Model::ValidateDnsGtmCnameRrCanUseRequest &request)const;
+			void validateDnsGtmCnameRrCanUseAsync(const Model::ValidateDnsGtmCnameRrCanUseRequest& request, const ValidateDnsGtmCnameRrCanUseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ValidateDnsGtmCnameRrCanUseOutcomeCallable validateDnsGtmCnameRrCanUseCallable(const Model::ValidateDnsGtmCnameRrCanUseRequest& request) const;
+			ValidatePdnsUdpIpSegmentOutcome validatePdnsUdpIpSegment(const Model::ValidatePdnsUdpIpSegmentRequest &request)const;
+			void validatePdnsUdpIpSegmentAsync(const Model::ValidatePdnsUdpIpSegmentRequest& request, const ValidatePdnsUdpIpSegmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ValidatePdnsUdpIpSegmentOutcomeCallable validatePdnsUdpIpSegmentCallable(const Model::ValidatePdnsUdpIpSegmentRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 48 - 0
alidns/include/alibabacloud/alidns/model/CreatePdnsAppKeyRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_ALIDNS_MODEL_CREATEPDNSAPPKEYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSAPPKEYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT CreatePdnsAppKeyRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreatePdnsAppKeyRequest();
+				~CreatePdnsAppKeyRequest();
+
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSAPPKEYREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/CreatePdnsAppKeyResult.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_ALIDNS_MODEL_CREATEPDNSAPPKEYRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSAPPKEYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT CreatePdnsAppKeyResult : public ServiceResult
+			{
+			public:
+
+
+				CreatePdnsAppKeyResult();
+				explicit CreatePdnsAppKeyResult(const std::string &payload);
+				~CreatePdnsAppKeyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSAPPKEYRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/CreatePdnsUdpIpSegmentRequest.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_ALIDNS_MODEL_CREATEPDNSUDPIPSEGMENTREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSUDPIPSEGMENTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT CreatePdnsUdpIpSegmentRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreatePdnsUdpIpSegmentRequest();
+				~CreatePdnsUdpIpSegmentRequest();
+
+				std::string getIp()const;
+				void setIp(const std::string& ip);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string ip_;
+				std::string name_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSUDPIPSEGMENTREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/CreatePdnsUdpIpSegmentResult.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_ALIDNS_MODEL_CREATEPDNSUDPIPSEGMENTRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSUDPIPSEGMENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT CreatePdnsUdpIpSegmentResult : public ServiceResult
+			{
+			public:
+
+
+				CreatePdnsUdpIpSegmentResult();
+				explicit CreatePdnsUdpIpSegmentResult(const std::string &payload);
+				~CreatePdnsUdpIpSegmentResult();
+				std::string getValidMessage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string validMessage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CREATEPDNSUDPIPSEGMENTRESULT_H_

+ 7 - 4
alidns/include/alibabacloud/alidns/model/DescribeDnsGtmInstanceResult.h

@@ -37,22 +37,25 @@ namespace AlibabaCloud
 					struct AlertConfigItem
 					{
 						bool emailNotice;
-						std::string noticeType;
 						bool smsNotice;
+						std::string noticeType;
+						bool dingtalkNotice;
 					};
 					std::string instanceName;
-					std::string pubicZoneName;
 					std::string alertGroup;
+					std::string pubicZoneName;
 					std::vector<AlertConfigItem> alertConfig;
 					std::string cnameType;
 					std::string publicUserDomainName;
 					std::string strategyMode;
+					std::string publicRr;
 					int ttl;
 					std::string publicCnameMode;
 				};
 				struct UsedQuota
 				{
 					int taskUsedCount;
+					int dingtalkUsedCount;
 					int smsUsedCount;
 					int emailUsedCount;
 				};
@@ -61,8 +64,8 @@ namespace AlibabaCloud
 				DescribeDnsGtmInstanceResult();
 				explicit DescribeDnsGtmInstanceResult(const std::string &payload);
 				~DescribeDnsGtmInstanceResult();
-				std::string getVersionCode()const;
 				long getExpireTimestamp()const;
+				std::string getVersionCode()const;
 				std::string getResourceGroupId()const;
 				std::string getInstanceId()const;
 				Config getConfig()const;
@@ -77,8 +80,8 @@ namespace AlibabaCloud
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string versionCode_;
 				long expireTimestamp_;
+				std::string versionCode_;
 				std::string resourceGroupId_;
 				std::string instanceId_;
 				Config config_;

+ 5 - 2
alidns/include/alibabacloud/alidns/model/DescribeDnsGtmInstancesResult.h

@@ -39,8 +39,9 @@ namespace AlibabaCloud
 						struct AlertConfigItem
 						{
 							std::string emailNotice;
-							std::string noticeType;
 							std::string smsNotice;
+							std::string noticeType;
+							std::string dingtalkNotice;
 						};
 						std::string instanceName;
 						std::string alertGroup;
@@ -49,17 +50,19 @@ namespace AlibabaCloud
 						std::string publicUserDomainName;
 						std::string publicZoneName;
 						std::string strategyMode;
+						std::string publicRr;
 						int ttl;
 						std::string publicCnameMode;
 					};
 					struct UsedQuota
 					{
 						int taskUsedCount;
+						int dingtalkUsedCount;
 						int smsUsedCount;
 						int emailUsedCount;
 					};
-					std::string versionCode;
 					long expireTimestamp;
+					std::string versionCode;
 					std::string resourceGroupId;
 					std::string instanceId;
 					Config config;

+ 4 - 2
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceResult.h

@@ -40,11 +40,12 @@ namespace AlibabaCloud
 				long getExpireTimestamp()const;
 				std::string getUserDomainName()const;
 				std::string getLbaStrategy()const;
+				std::string getResourceGroupId()const;
 				std::string getInstanceId()const;
 				std::string getCreateTime()const;
 				std::string getCnameMode()const;
-				std::string getCname()const;
 				int getTtl()const;
+				std::string getCname()const;
 				std::string getInstanceName()const;
 				std::string getVersionCode()const;
 				std::string getAlertGroup()const;
@@ -59,11 +60,12 @@ namespace AlibabaCloud
 				long expireTimestamp_;
 				std::string userDomainName_;
 				std::string lbaStrategy_;
+				std::string resourceGroupId_;
 				std::string instanceId_;
 				std::string createTime_;
 				std::string cnameMode_;
-				std::string cname_;
 				int ttl_;
+				std::string cname_;
 				std::string instanceName_;
 				std::string versionCode_;
 				std::string alertGroup_;

+ 2 - 1
alidns/include/alibabacloud/alidns/model/DescribeGtmInstancesResult.h

@@ -37,11 +37,12 @@ namespace AlibabaCloud
 					long expireTimestamp;
 					std::string userDomainName;
 					std::string lbaStrategy;
+					std::string resourceGroupId;
 					std::string instanceId;
 					std::string createTime;
 					std::string cnameMode;
-					std::string cname;
 					int ttl;
+					std::string cname;
 					std::string instanceName;
 					std::string versionCode;
 					std::string alertGroup;

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsAccountSummaryRequest.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_ALIDNS_MODEL_DESCRIBEPDNSACCOUNTSUMMARYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSACCOUNTSUMMARYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsAccountSummaryRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsAccountSummaryRequest();
+				~DescribePdnsAccountSummaryRequest();
+
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string startDate_;
+				std::string endDate_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSACCOUNTSUMMARYREQUEST_H_

+ 61 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsAccountSummaryResult.h

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

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeyRequest.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_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsAppKeyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsAppKeyRequest();
+				~DescribePdnsAppKeyRequest();
+
+				std::string getAppKeyId()const;
+				void setAppKeyId(const std::string& appKeyId);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string appKeyId_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYREQUEST_H_

+ 58 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeyResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsAppKeyResult : public ServiceResult
+			{
+			public:
+				struct AppKey
+				{
+					std::string state;
+					std::string appKeyId;
+					std::string createDate;
+					std::string appKeySecret;
+				};
+
+
+				DescribePdnsAppKeyResult();
+				explicit DescribePdnsAppKeyResult(const std::string &payload);
+				~DescribePdnsAppKeyResult();
+				AppKey getAppKey()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				AppKey appKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYRESULT_H_

+ 48 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeysRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsAppKeysRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsAppKeysRequest();
+				~DescribePdnsAppKeysRequest();
+
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYSREQUEST_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsAppKeysResult.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_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsAppKeysResult : public ServiceResult
+			{
+			public:
+				struct AppKey
+				{
+					std::string state;
+					std::string appKeyId;
+					std::string createDate;
+				};
+
+
+				DescribePdnsAppKeysResult();
+				explicit DescribePdnsAppKeysResult(const std::string &payload);
+				~DescribePdnsAppKeysResult();
+				std::vector<AppKey> getAppKeys()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AppKey> appKeys_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSAPPKEYSRESULT_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsOperateLogsRequest.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_ALIDNS_MODEL_DESCRIBEPDNSOPERATELOGSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSOPERATELOGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsOperateLogsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsOperateLogsRequest();
+				~DescribePdnsOperateLogsRequest();
+
+				std::string getActionType()const;
+				void setActionType(const std::string& actionType);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKeyword()const;
+				void setKeyword(const std::string& keyword);
+
+            private:
+				std::string actionType_;
+				std::string startDate_;
+				long pageNumber_;
+				std::string endDate_;
+				long pageSize_;
+				std::string lang_;
+				std::string keyword_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSOPERATELOGSREQUEST_H_

+ 64 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsOperateLogsResult.h

@@ -0,0 +1,64 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSOPERATELOGSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSOPERATELOGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsOperateLogsResult : public ServiceResult
+			{
+			public:
+				struct Log
+				{
+					std::string operateTime;
+					std::string action;
+					std::string type;
+					std::string content;
+				};
+
+
+				DescribePdnsOperateLogsResult();
+				explicit DescribePdnsOperateLogsResult(const std::string &payload);
+				~DescribePdnsOperateLogsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<Log> getLogs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<Log> logs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSOPERATELOGSRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticRequest.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_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsRequestStatisticRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsRequestStatisticRequest();
+				~DescribePdnsRequestStatisticRequest();
+
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				std::string getSubDomain()const;
+				void setSubDomain(const std::string& subDomain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string domainName_;
+				std::string type_;
+				std::string startDate_;
+				std::string endDate_;
+				std::string subDomain_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICREQUEST_H_

+ 67 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticResult.h

@@ -0,0 +1,67 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsRequestStatisticResult : public ServiceResult
+			{
+			public:
+				struct StatisticItem
+				{
+					long udpTotalCount;
+					long ipCount;
+					long v6HttpCount;
+					long v4Count;
+					long httpsCount;
+					long v4HttpsCount;
+					long timestamp;
+					long v6Count;
+					long totalCount;
+					long v4HttpCount;
+					long httpCount;
+					long v6HttpsCount;
+					long dohTotalCount;
+				};
+
+
+				DescribePdnsRequestStatisticResult();
+				explicit DescribePdnsRequestStatisticResult(const std::string &payload);
+				~DescribePdnsRequestStatisticResult();
+				std::vector<StatisticItem> getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<StatisticItem> data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICRESULT_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticsRequest.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_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsRequestStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsRequestStatisticsRequest();
+				~DescribePdnsRequestStatisticsRequest();
+
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				bool getNeedThreatInfo()const;
+				void setNeedThreatInfo(bool needThreatInfo);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getSubDomain()const;
+				void setSubDomain(const std::string& subDomain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string domainName_;
+				bool needThreatInfo_;
+				std::string type_;
+				std::string startDate_;
+				long pageNumber_;
+				std::string endDate_;
+				long pageSize_;
+				std::string subDomain_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICSREQUEST_H_

+ 82 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsRequestStatisticsResult.h

@@ -0,0 +1,82 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsRequestStatisticsResult : public ServiceResult
+			{
+			public:
+				struct StatisticItem
+				{
+					struct ThreatItem
+					{
+						std::string threatLevel;
+						std::string threatType;
+					};
+					long udpTotalCount;
+					long ipCount;
+					std::vector<StatisticItem::ThreatItem> threatInfo;
+					std::string domainName;
+					long v6HttpCount;
+					long v4Count;
+					long httpsCount;
+					long v4HttpsCount;
+					long v6Count;
+					std::string subDomain;
+					long totalCount;
+					long v4HttpCount;
+					long threatCount;
+					std::string maxThreatLevel;
+					long httpCount;
+					long v6HttpsCount;
+					long dohTotalCount;
+				};
+
+
+				DescribePdnsRequestStatisticsResult();
+				explicit DescribePdnsRequestStatisticsResult(const std::string &payload);
+				~DescribePdnsRequestStatisticsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<StatisticItem> getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<StatisticItem> data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSREQUESTSTATISTICSRESULT_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsThreatLogsRequest.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_ALIDNS_MODEL_DESCRIBEPDNSTHREATLOGSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATLOGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsThreatLogsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsThreatLogsRequest();
+				~DescribePdnsThreatLogsRequest();
+
+				std::string getThreatSourceIp()const;
+				void setThreatSourceIp(const std::string& threatSourceIp);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getThreatType()const;
+				void setThreatType(const std::string& threatType);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKeyword()const;
+				void setKeyword(const std::string& keyword);
+				std::string getThreatLevel()const;
+				void setThreatLevel(const std::string& threatLevel);
+
+            private:
+				std::string threatSourceIp_;
+				std::string startDate_;
+				long pageNumber_;
+				std::string endDate_;
+				long pageSize_;
+				std::string threatType_;
+				std::string lang_;
+				std::string keyword_;
+				std::string threatLevel_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATLOGSREQUEST_H_

+ 65 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsThreatLogsResult.h

@@ -0,0 +1,65 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSTHREATLOGSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATLOGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsThreatLogsResult : public ServiceResult
+			{
+			public:
+				struct Log
+				{
+					std::string subDomain;
+					std::string sourceIp;
+					std::string threatLevel;
+					std::string threatTime;
+					std::string threatType;
+				};
+
+
+				DescribePdnsThreatLogsResult();
+				explicit DescribePdnsThreatLogsResult(const std::string &payload);
+				~DescribePdnsThreatLogsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<Log> getLogs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<Log> logs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATLOGSRESULT_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsThreatStatisticRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsThreatStatisticRequest();
+				~DescribePdnsThreatStatisticRequest();
+
+				std::string getThreatSourceIp()const;
+				void setThreatSourceIp(const std::string& threatSourceIp);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string threatSourceIp_;
+				std::string type_;
+				std::string startDate_;
+				std::string endDate_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICREQUEST_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticResult.h

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

+ 84 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticsRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsThreatStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsThreatStatisticsRequest();
+				~DescribePdnsThreatStatisticsRequest();
+
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getThreatType()const;
+				void setThreatType(const std::string& threatType);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getDirection()const;
+				void setDirection(const std::string& direction);
+				std::string getThreatSourceIp()const;
+				void setThreatSourceIp(const std::string& threatSourceIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getOrderBy()const;
+				void setOrderBy(const std::string& orderBy);
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				std::string getSubDomain()const;
+				void setSubDomain(const std::string& subDomain);
+				std::string getThreatLevel()const;
+				void setThreatLevel(const std::string& threatLevel);
+
+            private:
+				std::string type_;
+				std::string startDate_;
+				long pageNumber_;
+				long pageSize_;
+				std::string threatType_;
+				std::string lang_;
+				std::string direction_;
+				std::string threatSourceIp_;
+				std::string domainName_;
+				std::string orderBy_;
+				std::string endDate_;
+				std::string subDomain_;
+				std::string threatLevel_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICSREQUEST_H_

+ 71 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsThreatStatisticsResult.h

@@ -0,0 +1,71 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsThreatStatisticsResult : public ServiceResult
+			{
+			public:
+				struct StatisticItem
+				{
+					std::string subDomain;
+					long udpTotalCount;
+					long totalCount;
+					std::string sourceIp;
+					std::string threatLevel;
+					std::string domainName;
+					std::string threatType;
+					std::string maxThreatLevel;
+					long latestThreatTime;
+					long dohTotalCount;
+					long domainCount;
+				};
+
+
+				DescribePdnsThreatStatisticsResult();
+				explicit DescribePdnsThreatStatisticsResult(const std::string &payload);
+				~DescribePdnsThreatStatisticsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<StatisticItem> getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<StatisticItem> data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSTHREATSTATISTICSRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsUdpIpSegmentsRequest.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_ALIDNS_MODEL_DESCRIBEPDNSUDPIPSEGMENTSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSUDPIPSEGMENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsUdpIpSegmentsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsUdpIpSegmentsRequest();
+				~DescribePdnsUdpIpSegmentsRequest();
+
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				long pageNumber_;
+				long pageSize_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSUDPIPSEGMENTSREQUEST_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsUdpIpSegmentsResult.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_ALIDNS_MODEL_DESCRIBEPDNSUDPIPSEGMENTSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSUDPIPSEGMENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsUdpIpSegmentsResult : public ServiceResult
+			{
+			public:
+				struct IpSegment
+				{
+					std::string updateDate;
+					std::string state;
+					std::string ip;
+					long mask;
+					std::string createDate;
+					std::string name;
+				};
+
+
+				DescribePdnsUdpIpSegmentsResult();
+				explicit DescribePdnsUdpIpSegmentsResult(const std::string &payload);
+				~DescribePdnsUdpIpSegmentsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<IpSegment> getIpSegments()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<IpSegment> ipSegments_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSUDPIPSEGMENTSRESULT_H_

+ 48 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsUserInfoRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_ALIDNS_MODEL_DESCRIBEPDNSUSERINFOREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSUSERINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribePdnsUserInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePdnsUserInfoRequest();
+				~DescribePdnsUserInfoRequest();
+
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEPDNSUSERINFOREQUEST_H_

+ 59 - 0
alidns/include/alibabacloud/alidns/model/DescribePdnsUserInfoResult.h

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

+ 51 - 0
alidns/include/alibabacloud/alidns/model/PausePdnsServiceRequest.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_ALIDNS_MODEL_PAUSEPDNSSERVICEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_PAUSEPDNSSERVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT PausePdnsServiceRequest : public RpcServiceRequest
+			{
+
+			public:
+				PausePdnsServiceRequest();
+				~PausePdnsServiceRequest();
+
+				std::string getServiceType()const;
+				void setServiceType(const std::string& serviceType);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string serviceType_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_PAUSEPDNSSERVICEREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/PausePdnsServiceResult.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_ALIDNS_MODEL_PAUSEPDNSSERVICERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_PAUSEPDNSSERVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT PausePdnsServiceResult : public ServiceResult
+			{
+			public:
+
+
+				PausePdnsServiceResult();
+				explicit PausePdnsServiceResult(const std::string &payload);
+				~PausePdnsServiceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_PAUSEPDNSSERVICERESULT_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/RemovePdnsAppKeyRequest.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_ALIDNS_MODEL_REMOVEPDNSAPPKEYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSAPPKEYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT RemovePdnsAppKeyRequest : public RpcServiceRequest
+			{
+
+			public:
+				RemovePdnsAppKeyRequest();
+				~RemovePdnsAppKeyRequest();
+
+				std::string getAppKeyId()const;
+				void setAppKeyId(const std::string& appKeyId);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string appKeyId_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSAPPKEYREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/RemovePdnsAppKeyResult.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_ALIDNS_MODEL_REMOVEPDNSAPPKEYRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSAPPKEYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT RemovePdnsAppKeyResult : public ServiceResult
+			{
+			public:
+
+
+				RemovePdnsAppKeyResult();
+				explicit RemovePdnsAppKeyResult(const std::string &payload);
+				~RemovePdnsAppKeyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSAPPKEYRESULT_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/RemovePdnsUdpIpSegmentRequest.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_ALIDNS_MODEL_REMOVEPDNSUDPIPSEGMENTREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSUDPIPSEGMENTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT RemovePdnsUdpIpSegmentRequest : public RpcServiceRequest
+			{
+
+			public:
+				RemovePdnsUdpIpSegmentRequest();
+				~RemovePdnsUdpIpSegmentRequest();
+
+				std::string getIp()const;
+				void setIp(const std::string& ip);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string ip_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSUDPIPSEGMENTREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/RemovePdnsUdpIpSegmentResult.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_ALIDNS_MODEL_REMOVEPDNSUDPIPSEGMENTRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSUDPIPSEGMENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT RemovePdnsUdpIpSegmentResult : public ServiceResult
+			{
+			public:
+
+
+				RemovePdnsUdpIpSegmentResult();
+				explicit RemovePdnsUdpIpSegmentResult(const std::string &payload);
+				~RemovePdnsUdpIpSegmentResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_REMOVEPDNSUDPIPSEGMENTRESULT_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/ResumePdnsServiceRequest.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_ALIDNS_MODEL_RESUMEPDNSSERVICEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_RESUMEPDNSSERVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ResumePdnsServiceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ResumePdnsServiceRequest();
+				~ResumePdnsServiceRequest();
+
+				std::string getServiceType()const;
+				void setServiceType(const std::string& serviceType);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string serviceType_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_RESUMEPDNSSERVICEREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/ResumePdnsServiceResult.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_ALIDNS_MODEL_RESUMEPDNSSERVICERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_RESUMEPDNSSERVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ResumePdnsServiceResult : public ServiceResult
+			{
+			public:
+
+
+				ResumePdnsServiceResult();
+				explicit ResumePdnsServiceResult(const std::string &payload);
+				~ResumePdnsServiceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_RESUMEPDNSSERVICERESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/UpdateAppKeyStateRequest.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_ALIDNS_MODEL_UPDATEAPPKEYSTATEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_UPDATEAPPKEYSTATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT UpdateAppKeyStateRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateAppKeyStateRequest();
+				~UpdateAppKeyStateRequest();
+
+				std::string getAppKeyId()const;
+				void setAppKeyId(const std::string& appKeyId);
+				std::string getState()const;
+				void setState(const std::string& state);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string appKeyId_;
+				std::string state_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_UPDATEAPPKEYSTATEREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/UpdateAppKeyStateResult.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_ALIDNS_MODEL_UPDATEAPPKEYSTATERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_UPDATEAPPKEYSTATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT UpdateAppKeyStateResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateAppKeyStateResult();
+				explicit UpdateAppKeyStateResult(const std::string &payload);
+				~UpdateAppKeyStateResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_UPDATEAPPKEYSTATERESULT_H_

+ 3 - 0
alidns/include/alibabacloud/alidns/model/UpdateDnsGtmAccessStrategyRequest.h

@@ -80,6 +80,8 @@ namespace AlibabaCloud
 				void setStrategyId(const std::string& strategyId);
 				std::vector<FailoverAddrPool> getFailoverAddrPool()const;
 				void setFailoverAddrPool(const std::vector<FailoverAddrPool>& failoverAddrPool);
+				std::string getAccessMode()const;
+				void setAccessMode(const std::string& accessMode);
 
             private:
 				std::string defaultLbaStrategy_;
@@ -99,6 +101,7 @@ namespace AlibabaCloud
 				std::string userClientIp_;
 				std::string strategyId_;
 				std::vector<FailoverAddrPool> failoverAddrPool_;
+				std::string accessMode_;
 
 			};
 		}

+ 7 - 0
alidns/include/alibabacloud/alidns/model/UpdateDnsGtmInstanceGlobalConfigRequest.h

@@ -33,6 +33,7 @@ namespace AlibabaCloud
 			public:
 				struct AlertConfig
 				{
+					bool dingtalkNotice;
 					bool smsNotice;
 					std::string noticeType;
 					bool emailNotice;
@@ -56,10 +57,14 @@ namespace AlibabaCloud
 				void setPublicUserDomainName(const std::string& publicUserDomainName);
 				int getTtl()const;
 				void setTtl(int ttl);
+				bool getForceUpdate()const;
+				void setForceUpdate(bool forceUpdate);
 				std::string getInstanceId()const;
 				void setInstanceId(const std::string& instanceId);
 				std::string getInstanceName()const;
 				void setInstanceName(const std::string& instanceName);
+				std::string getPublicRr()const;
+				void setPublicRr(const std::string& publicRr);
 				std::string getUserClientIp()const;
 				void setUserClientIp(const std::string& userClientIp);
 				std::string getPublicZoneName()const;
@@ -73,8 +78,10 @@ namespace AlibabaCloud
 				std::string publicCnameMode_;
 				std::string publicUserDomainName_;
 				int ttl_;
+				bool forceUpdate_;
 				std::string instanceId_;
 				std::string instanceName_;
+				std::string publicRr_;
 				std::string userClientIp_;
 				std::string publicZoneName_;
 

+ 66 - 0
alidns/include/alibabacloud/alidns/model/ValidateDnsGtmCnameRrCanUseRequest.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_ALIDNS_MODEL_VALIDATEDNSGTMCNAMERRCANUSEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_VALIDATEDNSGTMCNAMERRCANUSEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ValidateDnsGtmCnameRrCanUseRequest : public RpcServiceRequest
+			{
+
+			public:
+				ValidateDnsGtmCnameRrCanUseRequest();
+				~ValidateDnsGtmCnameRrCanUseRequest();
+
+				std::string getCnameMode()const;
+				void setCnameMode(const std::string& cnameMode);
+				std::string getCnameZone()const;
+				void setCnameZone(const std::string& cnameZone);
+				std::string getCnameRr()const;
+				void setCnameRr(const std::string& cnameRr);
+				std::string getCnameType()const;
+				void setCnameType(const std::string& cnameType);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string cnameMode_;
+				std::string cnameZone_;
+				std::string cnameRr_;
+				std::string cnameType_;
+				std::string instanceId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_VALIDATEDNSGTMCNAMERRCANUSEREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/ValidateDnsGtmCnameRrCanUseResult.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_ALIDNS_MODEL_VALIDATEDNSGTMCNAMERRCANUSERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_VALIDATEDNSGTMCNAMERRCANUSERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ValidateDnsGtmCnameRrCanUseResult : public ServiceResult
+			{
+			public:
+
+
+				ValidateDnsGtmCnameRrCanUseResult();
+				explicit ValidateDnsGtmCnameRrCanUseResult(const std::string &payload);
+				~ValidateDnsGtmCnameRrCanUseResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_VALIDATEDNSGTMCNAMERRCANUSERESULT_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/ValidatePdnsUdpIpSegmentRequest.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_ALIDNS_MODEL_VALIDATEPDNSUDPIPSEGMENTREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_VALIDATEPDNSUDPIPSEGMENTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ValidatePdnsUdpIpSegmentRequest : public RpcServiceRequest
+			{
+
+			public:
+				ValidatePdnsUdpIpSegmentRequest();
+				~ValidatePdnsUdpIpSegmentRequest();
+
+				std::string getIp()const;
+				void setIp(const std::string& ip);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string ip_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_VALIDATEPDNSUDPIPSEGMENTREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/ValidatePdnsUdpIpSegmentResult.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_ALIDNS_MODEL_VALIDATEPDNSUDPIPSEGMENTRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_VALIDATEPDNSUDPIPSEGMENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ValidatePdnsUdpIpSegmentResult : public ServiceResult
+			{
+			public:
+
+
+				ValidatePdnsUdpIpSegmentResult();
+				explicit ValidatePdnsUdpIpSegmentResult(const std::string &payload);
+				~ValidatePdnsUdpIpSegmentResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_VALIDATEPDNSUDPIPSEGMENTRESULT_H_

ファイルの差分が大きいため隠しています
+ 763 - 151
alidns/src/AlidnsClient.cc


+ 40 - 0
alidns/src/model/CreatePdnsAppKeyRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/alidns/model/CreatePdnsAppKeyRequest.h>
+
+using AlibabaCloud::Alidns::Model::CreatePdnsAppKeyRequest;
+
+CreatePdnsAppKeyRequest::CreatePdnsAppKeyRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "CreatePdnsAppKey")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreatePdnsAppKeyRequest::~CreatePdnsAppKeyRequest()
+{}
+
+std::string CreatePdnsAppKeyRequest::getLang()const
+{
+	return lang_;
+}
+
+void CreatePdnsAppKeyRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 62 - 0
alidns/src/model/CreatePdnsUdpIpSegmentRequest.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/alidns/model/CreatePdnsUdpIpSegmentRequest.h>
+
+using AlibabaCloud::Alidns::Model::CreatePdnsUdpIpSegmentRequest;
+
+CreatePdnsUdpIpSegmentRequest::CreatePdnsUdpIpSegmentRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "CreatePdnsUdpIpSegment")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreatePdnsUdpIpSegmentRequest::~CreatePdnsUdpIpSegmentRequest()
+{}
+
+std::string CreatePdnsUdpIpSegmentRequest::getIp()const
+{
+	return ip_;
+}
+
+void CreatePdnsUdpIpSegmentRequest::setIp(const std::string& ip)
+{
+	ip_ = ip;
+	setParameter("Ip", ip);
+}
+
+std::string CreatePdnsUdpIpSegmentRequest::getName()const
+{
+	return name_;
+}
+
+void CreatePdnsUdpIpSegmentRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string CreatePdnsUdpIpSegmentRequest::getLang()const
+{
+	return lang_;
+}
+
+void CreatePdnsUdpIpSegmentRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 51 - 0
alidns/src/model/CreatePdnsUdpIpSegmentResult.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/alidns/model/CreatePdnsUdpIpSegmentResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+CreatePdnsUdpIpSegmentResult::CreatePdnsUdpIpSegmentResult() :
+	ServiceResult()
+{}
+
+CreatePdnsUdpIpSegmentResult::CreatePdnsUdpIpSegmentResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreatePdnsUdpIpSegmentResult::~CreatePdnsUdpIpSegmentResult()
+{}
+
+void CreatePdnsUdpIpSegmentResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["ValidMessage"].isNull())
+		validMessage_ = value["ValidMessage"].asString();
+
+}
+
+std::string CreatePdnsUdpIpSegmentResult::getValidMessage()const
+{
+	return validMessage_;
+}
+

+ 36 - 30
alidns/src/model/DescribeDnsGtmInstanceResult.cc

@@ -40,72 +40,78 @@ void DescribeDnsGtmInstanceResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto configNode = value["Config"];
-	if(!configNode["InstanceName"].isNull())
-		config_.instanceName = configNode["InstanceName"].asString();
+	if(!configNode["Ttl"].isNull())
+		config_.ttl = std::stoi(configNode["Ttl"].asString());
+	if(!configNode["AlertGroup"].isNull())
+		config_.alertGroup = configNode["AlertGroup"].asString();
 	if(!configNode["CnameType"].isNull())
 		config_.cnameType = configNode["CnameType"].asString();
-	if(!configNode["PublicUserDomainName"].isNull())
-		config_.publicUserDomainName = configNode["PublicUserDomainName"].asString();
+	if(!configNode["StrategyMode"].isNull())
+		config_.strategyMode = configNode["StrategyMode"].asString();
+	if(!configNode["InstanceName"].isNull())
+		config_.instanceName = configNode["InstanceName"].asString();
 	if(!configNode["PublicCnameMode"].isNull())
 		config_.publicCnameMode = configNode["PublicCnameMode"].asString();
+	if(!configNode["PublicUserDomainName"].isNull())
+		config_.publicUserDomainName = configNode["PublicUserDomainName"].asString();
 	if(!configNode["PubicZoneName"].isNull())
 		config_.pubicZoneName = configNode["PubicZoneName"].asString();
-	if(!configNode["Ttl"].isNull())
-		config_.ttl = std::stoi(configNode["Ttl"].asString());
-	if(!configNode["StrategyMode"].isNull())
-		config_.strategyMode = configNode["StrategyMode"].asString();
-	if(!configNode["AlertGroup"].isNull())
-		config_.alertGroup = configNode["AlertGroup"].asString();
+	if(!configNode["PublicRr"].isNull())
+		config_.publicRr = configNode["PublicRr"].asString();
 	auto allAlertConfigNode = configNode["AlertConfig"]["AlertConfigItem"];
 	for (auto configNodeAlertConfigAlertConfigItem : allAlertConfigNode)
 	{
 		Config::AlertConfigItem alertConfigItemObject;
-		if(!configNodeAlertConfigAlertConfigItem["NoticeType"].isNull())
-			alertConfigItemObject.noticeType = configNodeAlertConfigAlertConfigItem["NoticeType"].asString();
 		if(!configNodeAlertConfigAlertConfigItem["SmsNotice"].isNull())
 			alertConfigItemObject.smsNotice = configNodeAlertConfigAlertConfigItem["SmsNotice"].asString() == "true";
+		if(!configNodeAlertConfigAlertConfigItem["NoticeType"].isNull())
+			alertConfigItemObject.noticeType = configNodeAlertConfigAlertConfigItem["NoticeType"].asString();
 		if(!configNodeAlertConfigAlertConfigItem["EmailNotice"].isNull())
 			alertConfigItemObject.emailNotice = configNodeAlertConfigAlertConfigItem["EmailNotice"].asString() == "true";
+		if(!configNodeAlertConfigAlertConfigItem["DingtalkNotice"].isNull())
+			alertConfigItemObject.dingtalkNotice = configNodeAlertConfigAlertConfigItem["DingtalkNotice"].asString() == "true";
 		config_.alertConfig.push_back(alertConfigItemObject);
 	}
 	auto usedQuotaNode = value["UsedQuota"];
+	if(!usedQuotaNode["EmailUsedCount"].isNull())
+		usedQuota_.emailUsedCount = std::stoi(usedQuotaNode["EmailUsedCount"].asString());
 	if(!usedQuotaNode["TaskUsedCount"].isNull())
 		usedQuota_.taskUsedCount = std::stoi(usedQuotaNode["TaskUsedCount"].asString());
 	if(!usedQuotaNode["SmsUsedCount"].isNull())
 		usedQuota_.smsUsedCount = std::stoi(usedQuotaNode["SmsUsedCount"].asString());
-	if(!usedQuotaNode["EmailUsedCount"].isNull())
-		usedQuota_.emailUsedCount = std::stoi(usedQuotaNode["EmailUsedCount"].asString());
+	if(!usedQuotaNode["DingtalkUsedCount"].isNull())
+		usedQuota_.dingtalkUsedCount = std::stoi(usedQuotaNode["DingtalkUsedCount"].asString());
+	if(!value["ExpireTimestamp"].isNull())
+		expireTimestamp_ = std::stol(value["ExpireTimestamp"].asString());
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 	if(!value["InstanceId"].isNull())
 		instanceId_ = value["InstanceId"].asString();
-	if(!value["VersionCode"].isNull())
-		versionCode_ = value["VersionCode"].asString();
-	if(!value["SmsQuota"].isNull())
-		smsQuota_ = std::stoi(value["SmsQuota"].asString());
 	if(!value["TaskQuota"].isNull())
 		taskQuota_ = std::stoi(value["TaskQuota"].asString());
 	if(!value["CreateTime"].isNull())
 		createTime_ = value["CreateTime"].asString();
-	if(!value["CreateTimestamp"].isNull())
-		createTimestamp_ = std::stol(value["CreateTimestamp"].asString());
-	if(!value["ExpireTime"].isNull())
-		expireTime_ = value["ExpireTime"].asString();
-	if(!value["ExpireTimestamp"].isNull())
-		expireTimestamp_ = std::stol(value["ExpireTimestamp"].asString());
-	if(!value["ResourceGroupId"].isNull())
-		resourceGroupId_ = value["ResourceGroupId"].asString();
+	if(!value["SmsQuota"].isNull())
+		smsQuota_ = std::stoi(value["SmsQuota"].asString());
+	if(!value["VersionCode"].isNull())
+		versionCode_ = value["VersionCode"].asString();
 	if(!value["PaymentType"].isNull())
 		paymentType_ = value["PaymentType"].asString();
+	if(!value["ExpireTime"].isNull())
+		expireTime_ = value["ExpireTime"].asString();
+	if(!value["CreateTimestamp"].isNull())
+		createTimestamp_ = std::stol(value["CreateTimestamp"].asString());
 
 }
 
-std::string DescribeDnsGtmInstanceResult::getVersionCode()const
+long DescribeDnsGtmInstanceResult::getExpireTimestamp()const
 {
-	return versionCode_;
+	return expireTimestamp_;
 }
 
-long DescribeDnsGtmInstanceResult::getExpireTimestamp()const
+std::string DescribeDnsGtmInstanceResult::getVersionCode()const
 {
-	return expireTimestamp_;
+	return versionCode_;
 }
 
 std::string DescribeDnsGtmInstanceResult::getResourceGroupId()const

+ 38 - 32
alidns/src/model/DescribeDnsGtmInstancesResult.cc

@@ -43,72 +43,78 @@ void DescribeDnsGtmInstancesResult::parse(const std::string &payload)
 	for (auto valueGtmInstancesGtmInstance : allGtmInstancesNode)
 	{
 		GtmInstance gtmInstancesObject;
-		if(!valueGtmInstancesGtmInstance["InstanceId"].isNull())
-			gtmInstancesObject.instanceId = valueGtmInstancesGtmInstance["InstanceId"].asString();
-		if(!valueGtmInstancesGtmInstance["VersionCode"].isNull())
-			gtmInstancesObject.versionCode = valueGtmInstancesGtmInstance["VersionCode"].asString();
-		if(!valueGtmInstancesGtmInstance["SmsQuota"].isNull())
-			gtmInstancesObject.smsQuota = std::stoi(valueGtmInstancesGtmInstance["SmsQuota"].asString());
-		if(!valueGtmInstancesGtmInstance["CreateTime"].isNull())
-			gtmInstancesObject.createTime = valueGtmInstancesGtmInstance["CreateTime"].asString();
-		if(!valueGtmInstancesGtmInstance["CreateTimestamp"].isNull())
-			gtmInstancesObject.createTimestamp = std::stol(valueGtmInstancesGtmInstance["CreateTimestamp"].asString());
+		if(!valueGtmInstancesGtmInstance["PaymentType"].isNull())
+			gtmInstancesObject.paymentType = valueGtmInstancesGtmInstance["PaymentType"].asString();
 		if(!valueGtmInstancesGtmInstance["ExpireTime"].isNull())
 			gtmInstancesObject.expireTime = valueGtmInstancesGtmInstance["ExpireTime"].asString();
+		if(!valueGtmInstancesGtmInstance["CreateTime"].isNull())
+			gtmInstancesObject.createTime = valueGtmInstancesGtmInstance["CreateTime"].asString();
+		if(!valueGtmInstancesGtmInstance["SmsQuota"].isNull())
+			gtmInstancesObject.smsQuota = std::stoi(valueGtmInstancesGtmInstance["SmsQuota"].asString());
+		if(!valueGtmInstancesGtmInstance["InstanceId"].isNull())
+			gtmInstancesObject.instanceId = valueGtmInstancesGtmInstance["InstanceId"].asString();
 		if(!valueGtmInstancesGtmInstance["ExpireTimestamp"].isNull())
 			gtmInstancesObject.expireTimestamp = std::stol(valueGtmInstancesGtmInstance["ExpireTimestamp"].asString());
-		if(!valueGtmInstancesGtmInstance["TaskQuota"].isNull())
-			gtmInstancesObject.taskQuota = std::stoi(valueGtmInstancesGtmInstance["TaskQuota"].asString());
 		if(!valueGtmInstancesGtmInstance["ResourceGroupId"].isNull())
 			gtmInstancesObject.resourceGroupId = valueGtmInstancesGtmInstance["ResourceGroupId"].asString();
-		if(!valueGtmInstancesGtmInstance["PaymentType"].isNull())
-			gtmInstancesObject.paymentType = valueGtmInstancesGtmInstance["PaymentType"].asString();
+		if(!valueGtmInstancesGtmInstance["VersionCode"].isNull())
+			gtmInstancesObject.versionCode = valueGtmInstancesGtmInstance["VersionCode"].asString();
+		if(!valueGtmInstancesGtmInstance["TaskQuota"].isNull())
+			gtmInstancesObject.taskQuota = std::stoi(valueGtmInstancesGtmInstance["TaskQuota"].asString());
+		if(!valueGtmInstancesGtmInstance["CreateTimestamp"].isNull())
+			gtmInstancesObject.createTimestamp = std::stol(valueGtmInstancesGtmInstance["CreateTimestamp"].asString());
 		auto configNode = value["Config"];
-		if(!configNode["InstanceName"].isNull())
-			gtmInstancesObject.config.instanceName = configNode["InstanceName"].asString();
-		if(!configNode["CnameType"].isNull())
-			gtmInstancesObject.config.cnameType = configNode["CnameType"].asString();
-		if(!configNode["PublicUserDomainName"].isNull())
-			gtmInstancesObject.config.publicUserDomainName = configNode["PublicUserDomainName"].asString();
-		if(!configNode["PublicCnameMode"].isNull())
-			gtmInstancesObject.config.publicCnameMode = configNode["PublicCnameMode"].asString();
-		if(!configNode["PublicZoneName"].isNull())
-			gtmInstancesObject.config.publicZoneName = configNode["PublicZoneName"].asString();
 		if(!configNode["Ttl"].isNull())
 			gtmInstancesObject.config.ttl = std::stoi(configNode["Ttl"].asString());
 		if(!configNode["AlertGroup"].isNull())
 			gtmInstancesObject.config.alertGroup = configNode["AlertGroup"].asString();
+		if(!configNode["PublicZoneName"].isNull())
+			gtmInstancesObject.config.publicZoneName = configNode["PublicZoneName"].asString();
+		if(!configNode["CnameType"].isNull())
+			gtmInstancesObject.config.cnameType = configNode["CnameType"].asString();
 		if(!configNode["StrategyMode"].isNull())
 			gtmInstancesObject.config.strategyMode = configNode["StrategyMode"].asString();
+		if(!configNode["InstanceName"].isNull())
+			gtmInstancesObject.config.instanceName = configNode["InstanceName"].asString();
+		if(!configNode["PublicCnameMode"].isNull())
+			gtmInstancesObject.config.publicCnameMode = configNode["PublicCnameMode"].asString();
+		if(!configNode["PublicUserDomainName"].isNull())
+			gtmInstancesObject.config.publicUserDomainName = configNode["PublicUserDomainName"].asString();
+		if(!configNode["PublicRr"].isNull())
+			gtmInstancesObject.config.publicRr = configNode["PublicRr"].asString();
 		auto allAlertConfigNode = configNode["AlertConfig"]["AlertConfigItem"];
 		for (auto configNodeAlertConfigAlertConfigItem : allAlertConfigNode)
 		{
 			GtmInstance::Config::AlertConfigItem alertConfigItemObject;
-			if(!configNodeAlertConfigAlertConfigItem["NoticeType"].isNull())
-				alertConfigItemObject.noticeType = configNodeAlertConfigAlertConfigItem["NoticeType"].asString();
 			if(!configNodeAlertConfigAlertConfigItem["SmsNotice"].isNull())
 				alertConfigItemObject.smsNotice = configNodeAlertConfigAlertConfigItem["SmsNotice"].asString();
+			if(!configNodeAlertConfigAlertConfigItem["NoticeType"].isNull())
+				alertConfigItemObject.noticeType = configNodeAlertConfigAlertConfigItem["NoticeType"].asString();
 			if(!configNodeAlertConfigAlertConfigItem["EmailNotice"].isNull())
 				alertConfigItemObject.emailNotice = configNodeAlertConfigAlertConfigItem["EmailNotice"].asString();
+			if(!configNodeAlertConfigAlertConfigItem["DingtalkNotice"].isNull())
+				alertConfigItemObject.dingtalkNotice = configNodeAlertConfigAlertConfigItem["DingtalkNotice"].asString();
 			gtmInstancesObject.config.alertConfig.push_back(alertConfigItemObject);
 		}
 		auto usedQuotaNode = value["UsedQuota"];
+		if(!usedQuotaNode["EmailUsedCount"].isNull())
+			gtmInstancesObject.usedQuota.emailUsedCount = std::stoi(usedQuotaNode["EmailUsedCount"].asString());
 		if(!usedQuotaNode["TaskUsedCount"].isNull())
 			gtmInstancesObject.usedQuota.taskUsedCount = std::stoi(usedQuotaNode["TaskUsedCount"].asString());
 		if(!usedQuotaNode["SmsUsedCount"].isNull())
 			gtmInstancesObject.usedQuota.smsUsedCount = std::stoi(usedQuotaNode["SmsUsedCount"].asString());
-		if(!usedQuotaNode["EmailUsedCount"].isNull())
-			gtmInstancesObject.usedQuota.emailUsedCount = std::stoi(usedQuotaNode["EmailUsedCount"].asString());
+		if(!usedQuotaNode["DingtalkUsedCount"].isNull())
+			gtmInstancesObject.usedQuota.dingtalkUsedCount = std::stoi(usedQuotaNode["DingtalkUsedCount"].asString());
 		gtmInstances_.push_back(gtmInstancesObject);
 	}
-	if(!value["PageNumber"].isNull())
-		pageNumber_ = std::stoi(value["PageNumber"].asString());
 	if(!value["PageSize"].isNull())
 		pageSize_ = std::stoi(value["PageSize"].asString());
-	if(!value["TotalItems"].isNull())
-		totalItems_ = std::stoi(value["TotalItems"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
 	if(!value["TotalPages"].isNull())
 		totalPages_ = std::stoi(value["TotalPages"].asString());
+	if(!value["TotalItems"].isNull())
+		totalItems_ = std::stoi(value["TotalItems"].asString());
 
 }
 

+ 29 - 22
alidns/src/model/DescribeGtmInstanceResult.cc

@@ -39,36 +39,38 @@ void DescribeGtmInstanceResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	if(!value["InstanceId"].isNull())
-		instanceId_ = value["InstanceId"].asString();
-	if(!value["InstanceName"].isNull())
-		instanceName_ = value["InstanceName"].asString();
-	if(!value["VersionCode"].isNull())
-		versionCode_ = value["VersionCode"].asString();
-	if(!value["ExpireTime"].isNull())
-		expireTime_ = value["ExpireTime"].asString();
 	if(!value["ExpireTimestamp"].isNull())
 		expireTimestamp_ = std::stol(value["ExpireTimestamp"].asString());
-	if(!value["Cname"].isNull())
-		cname_ = value["Cname"].asString();
 	if(!value["UserDomainName"].isNull())
 		userDomainName_ = value["UserDomainName"].asString();
-	if(!value["Ttl"].isNull())
-		ttl_ = std::stoi(value["Ttl"].asString());
 	if(!value["LbaStrategy"].isNull())
 		lbaStrategy_ = value["LbaStrategy"].asString();
+	if(!value["InstanceId"].isNull())
+		instanceId_ = value["InstanceId"].asString();
 	if(!value["CreateTime"].isNull())
 		createTime_ = value["CreateTime"].asString();
-	if(!value["CreateTimestamp"].isNull())
-		createTimestamp_ = std::stol(value["CreateTimestamp"].asString());
-	if(!value["AlertGroup"].isNull())
-		alertGroup_ = value["AlertGroup"].asString();
 	if(!value["CnameMode"].isNull())
 		cnameMode_ = value["CnameMode"].asString();
-	if(!value["AccessStrategyNum"].isNull())
-		accessStrategyNum_ = std::stoi(value["AccessStrategyNum"].asString());
+	if(!value["Ttl"].isNull())
+		ttl_ = std::stoi(value["Ttl"].asString());
+	if(!value["Cname"].isNull())
+		cname_ = value["Cname"].asString();
+	if(!value["InstanceName"].isNull())
+		instanceName_ = value["InstanceName"].asString();
+	if(!value["VersionCode"].isNull())
+		versionCode_ = value["VersionCode"].asString();
+	if(!value["AlertGroup"].isNull())
+		alertGroup_ = value["AlertGroup"].asString();
 	if(!value["AddressPoolNum"].isNull())
 		addressPoolNum_ = std::stoi(value["AddressPoolNum"].asString());
+	if(!value["AccessStrategyNum"].isNull())
+		accessStrategyNum_ = std::stoi(value["AccessStrategyNum"].asString());
+	if(!value["ExpireTime"].isNull())
+		expireTime_ = value["ExpireTime"].asString();
+	if(!value["CreateTimestamp"].isNull())
+		createTimestamp_ = std::stol(value["CreateTimestamp"].asString());
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
@@ -87,6 +89,11 @@ std::string DescribeGtmInstanceResult::getLbaStrategy()const
 	return lbaStrategy_;
 }
 
+std::string DescribeGtmInstanceResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
 std::string DescribeGtmInstanceResult::getInstanceId()const
 {
 	return instanceId_;
@@ -102,14 +109,14 @@ std::string DescribeGtmInstanceResult::getCnameMode()const
 	return cnameMode_;
 }
 
-std::string DescribeGtmInstanceResult::getCname()const
+int DescribeGtmInstanceResult::getTtl()const
 {
-	return cname_;
+	return ttl_;
 }
 
-int DescribeGtmInstanceResult::getTtl()const
+std::string DescribeGtmInstanceResult::getCname()const
 {
-	return ttl_;
+	return cname_;
 }
 
 std::string DescribeGtmInstanceResult::getInstanceName()const

+ 26 - 24
alidns/src/model/DescribeGtmInstancesResult.cc

@@ -43,46 +43,48 @@ void DescribeGtmInstancesResult::parse(const std::string &payload)
 	for (auto valueGtmInstancesGtmInstance : allGtmInstancesNode)
 	{
 		GtmInstance gtmInstancesObject;
+		if(!valueGtmInstancesGtmInstance["ExpireTime"].isNull())
+			gtmInstancesObject.expireTime = valueGtmInstancesGtmInstance["ExpireTime"].asString();
+		if(!valueGtmInstancesGtmInstance["AccessStrategyNum"].isNull())
+			gtmInstancesObject.accessStrategyNum = std::stoi(valueGtmInstancesGtmInstance["AccessStrategyNum"].asString());
+		if(!valueGtmInstancesGtmInstance["CreateTime"].isNull())
+			gtmInstancesObject.createTime = valueGtmInstancesGtmInstance["CreateTime"].asString();
+		if(!valueGtmInstancesGtmInstance["CnameMode"].isNull())
+			gtmInstancesObject.cnameMode = valueGtmInstancesGtmInstance["CnameMode"].asString();
 		if(!valueGtmInstancesGtmInstance["InstanceId"].isNull())
 			gtmInstancesObject.instanceId = valueGtmInstancesGtmInstance["InstanceId"].asString();
+		if(!valueGtmInstancesGtmInstance["ExpireTimestamp"].isNull())
+			gtmInstancesObject.expireTimestamp = std::stol(valueGtmInstancesGtmInstance["ExpireTimestamp"].asString());
+		if(!valueGtmInstancesGtmInstance["Ttl"].isNull())
+			gtmInstancesObject.ttl = std::stoi(valueGtmInstancesGtmInstance["Ttl"].asString());
+		if(!valueGtmInstancesGtmInstance["AlertGroup"].isNull())
+			gtmInstancesObject.alertGroup = valueGtmInstancesGtmInstance["AlertGroup"].asString();
+		if(!valueGtmInstancesGtmInstance["AddressPoolNum"].isNull())
+			gtmInstancesObject.addressPoolNum = std::stoi(valueGtmInstancesGtmInstance["AddressPoolNum"].asString());
 		if(!valueGtmInstancesGtmInstance["InstanceName"].isNull())
 			gtmInstancesObject.instanceName = valueGtmInstancesGtmInstance["InstanceName"].asString();
+		if(!valueGtmInstancesGtmInstance["LbaStrategy"].isNull())
+			gtmInstancesObject.lbaStrategy = valueGtmInstancesGtmInstance["LbaStrategy"].asString();
 		if(!valueGtmInstancesGtmInstance["Cname"].isNull())
 			gtmInstancesObject.cname = valueGtmInstancesGtmInstance["Cname"].asString();
-		if(!valueGtmInstancesGtmInstance["UserDomainName"].isNull())
-			gtmInstancesObject.userDomainName = valueGtmInstancesGtmInstance["UserDomainName"].asString();
 		if(!valueGtmInstancesGtmInstance["VersionCode"].isNull())
 			gtmInstancesObject.versionCode = valueGtmInstancesGtmInstance["VersionCode"].asString();
-		if(!valueGtmInstancesGtmInstance["Ttl"].isNull())
-			gtmInstancesObject.ttl = std::stoi(valueGtmInstancesGtmInstance["Ttl"].asString());
-		if(!valueGtmInstancesGtmInstance["LbaStrategy"].isNull())
-			gtmInstancesObject.lbaStrategy = valueGtmInstancesGtmInstance["LbaStrategy"].asString();
-		if(!valueGtmInstancesGtmInstance["CreateTime"].isNull())
-			gtmInstancesObject.createTime = valueGtmInstancesGtmInstance["CreateTime"].asString();
+		if(!valueGtmInstancesGtmInstance["UserDomainName"].isNull())
+			gtmInstancesObject.userDomainName = valueGtmInstancesGtmInstance["UserDomainName"].asString();
 		if(!valueGtmInstancesGtmInstance["CreateTimestamp"].isNull())
 			gtmInstancesObject.createTimestamp = std::stol(valueGtmInstancesGtmInstance["CreateTimestamp"].asString());
-		if(!valueGtmInstancesGtmInstance["ExpireTime"].isNull())
-			gtmInstancesObject.expireTime = valueGtmInstancesGtmInstance["ExpireTime"].asString();
-		if(!valueGtmInstancesGtmInstance["ExpireTimestamp"].isNull())
-			gtmInstancesObject.expireTimestamp = std::stol(valueGtmInstancesGtmInstance["ExpireTimestamp"].asString());
-		if(!valueGtmInstancesGtmInstance["AlertGroup"].isNull())
-			gtmInstancesObject.alertGroup = valueGtmInstancesGtmInstance["AlertGroup"].asString();
-		if(!valueGtmInstancesGtmInstance["CnameMode"].isNull())
-			gtmInstancesObject.cnameMode = valueGtmInstancesGtmInstance["CnameMode"].asString();
-		if(!valueGtmInstancesGtmInstance["AccessStrategyNum"].isNull())
-			gtmInstancesObject.accessStrategyNum = std::stoi(valueGtmInstancesGtmInstance["AccessStrategyNum"].asString());
-		if(!valueGtmInstancesGtmInstance["AddressPoolNum"].isNull())
-			gtmInstancesObject.addressPoolNum = std::stoi(valueGtmInstancesGtmInstance["AddressPoolNum"].asString());
+		if(!valueGtmInstancesGtmInstance["ResourceGroupId"].isNull())
+			gtmInstancesObject.resourceGroupId = valueGtmInstancesGtmInstance["ResourceGroupId"].asString();
 		gtmInstances_.push_back(gtmInstancesObject);
 	}
-	if(!value["PageNumber"].isNull())
-		pageNumber_ = std::stoi(value["PageNumber"].asString());
 	if(!value["PageSize"].isNull())
 		pageSize_ = std::stoi(value["PageSize"].asString());
-	if(!value["TotalItems"].isNull())
-		totalItems_ = std::stoi(value["TotalItems"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
 	if(!value["TotalPages"].isNull())
 		totalPages_ = std::stoi(value["TotalPages"].asString());
+	if(!value["TotalItems"].isNull())
+		totalItems_ = std::stoi(value["TotalItems"].asString());
 
 }
 

+ 62 - 0
alidns/src/model/DescribePdnsAccountSummaryRequest.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/alidns/model/DescribePdnsAccountSummaryRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsAccountSummaryRequest;
+
+DescribePdnsAccountSummaryRequest::DescribePdnsAccountSummaryRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsAccountSummary")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsAccountSummaryRequest::~DescribePdnsAccountSummaryRequest()
+{}
+
+std::string DescribePdnsAccountSummaryRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsAccountSummaryRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+std::string DescribePdnsAccountSummaryRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsAccountSummaryRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+std::string DescribePdnsAccountSummaryRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsAccountSummaryRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 64 - 0
alidns/src/model/DescribePdnsAccountSummaryResult.cc

@@ -0,0 +1,64 @@
+/*
+ * 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/alidns/model/DescribePdnsAccountSummaryResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsAccountSummaryResult::DescribePdnsAccountSummaryResult() :
+	ServiceResult()
+{}
+
+DescribePdnsAccountSummaryResult::DescribePdnsAccountSummaryResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsAccountSummaryResult::~DescribePdnsAccountSummaryResult()
+{}
+
+void DescribePdnsAccountSummaryResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stol(dataNode["TotalCount"].asString());
+	if(!dataNode["ThreatCount"].isNull())
+		data_.threatCount = std::stol(dataNode["ThreatCount"].asString());
+	if(!dataNode["UserId"].isNull())
+		data_.userId = std::stol(dataNode["UserId"].asString());
+	if(!dataNode["HttpsCount"].isNull())
+		data_.httpsCount = std::stol(dataNode["HttpsCount"].asString());
+	if(!dataNode["HttpCount"].isNull())
+		data_.httpCount = std::stol(dataNode["HttpCount"].asString());
+	if(!dataNode["SubDomainCount"].isNull())
+		data_.subDomainCount = std::stol(dataNode["SubDomainCount"].asString());
+	if(!dataNode["DomainCount"].isNull())
+		data_.domainCount = std::stol(dataNode["DomainCount"].asString());
+
+}
+
+DescribePdnsAccountSummaryResult::Data DescribePdnsAccountSummaryResult::getData()const
+{
+	return data_;
+}
+

+ 51 - 0
alidns/src/model/DescribePdnsAppKeyRequest.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/alidns/model/DescribePdnsAppKeyRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsAppKeyRequest;
+
+DescribePdnsAppKeyRequest::DescribePdnsAppKeyRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsAppKey")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsAppKeyRequest::~DescribePdnsAppKeyRequest()
+{}
+
+std::string DescribePdnsAppKeyRequest::getAppKeyId()const
+{
+	return appKeyId_;
+}
+
+void DescribePdnsAppKeyRequest::setAppKeyId(const std::string& appKeyId)
+{
+	appKeyId_ = appKeyId;
+	setParameter("AppKeyId", appKeyId);
+}
+
+std::string DescribePdnsAppKeyRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsAppKeyRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 58 - 0
alidns/src/model/DescribePdnsAppKeyResult.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/alidns/model/DescribePdnsAppKeyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsAppKeyResult::DescribePdnsAppKeyResult() :
+	ServiceResult()
+{}
+
+DescribePdnsAppKeyResult::DescribePdnsAppKeyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsAppKeyResult::~DescribePdnsAppKeyResult()
+{}
+
+void DescribePdnsAppKeyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto appKeyNode = value["AppKey"];
+	if(!appKeyNode["State"].isNull())
+		appKey_.state = appKeyNode["State"].asString();
+	if(!appKeyNode["AppKeyId"].isNull())
+		appKey_.appKeyId = appKeyNode["AppKeyId"].asString();
+	if(!appKeyNode["CreateDate"].isNull())
+		appKey_.createDate = appKeyNode["CreateDate"].asString();
+	if(!appKeyNode["AppKeySecret"].isNull())
+		appKey_.appKeySecret = appKeyNode["AppKeySecret"].asString();
+
+}
+
+DescribePdnsAppKeyResult::AppKey DescribePdnsAppKeyResult::getAppKey()const
+{
+	return appKey_;
+}
+

+ 40 - 0
alidns/src/model/DescribePdnsAppKeysRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/alidns/model/DescribePdnsAppKeysRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsAppKeysRequest;
+
+DescribePdnsAppKeysRequest::DescribePdnsAppKeysRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsAppKeys")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsAppKeysRequest::~DescribePdnsAppKeysRequest()
+{}
+
+std::string DescribePdnsAppKeysRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsAppKeysRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 61 - 0
alidns/src/model/DescribePdnsAppKeysResult.cc

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribePdnsAppKeysResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsAppKeysResult::DescribePdnsAppKeysResult() :
+	ServiceResult()
+{}
+
+DescribePdnsAppKeysResult::DescribePdnsAppKeysResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsAppKeysResult::~DescribePdnsAppKeysResult()
+{}
+
+void DescribePdnsAppKeysResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAppKeysNode = value["AppKeys"]["AppKey"];
+	for (auto valueAppKeysAppKey : allAppKeysNode)
+	{
+		AppKey appKeysObject;
+		if(!valueAppKeysAppKey["State"].isNull())
+			appKeysObject.state = valueAppKeysAppKey["State"].asString();
+		if(!valueAppKeysAppKey["AppKeyId"].isNull())
+			appKeysObject.appKeyId = valueAppKeysAppKey["AppKeyId"].asString();
+		if(!valueAppKeysAppKey["CreateDate"].isNull())
+			appKeysObject.createDate = valueAppKeysAppKey["CreateDate"].asString();
+		appKeys_.push_back(appKeysObject);
+	}
+
+}
+
+std::vector<DescribePdnsAppKeysResult::AppKey> DescribePdnsAppKeysResult::getAppKeys()const
+{
+	return appKeys_;
+}
+

+ 106 - 0
alidns/src/model/DescribePdnsOperateLogsRequest.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/alidns/model/DescribePdnsOperateLogsRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsOperateLogsRequest;
+
+DescribePdnsOperateLogsRequest::DescribePdnsOperateLogsRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsOperateLogs")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsOperateLogsRequest::~DescribePdnsOperateLogsRequest()
+{}
+
+std::string DescribePdnsOperateLogsRequest::getActionType()const
+{
+	return actionType_;
+}
+
+void DescribePdnsOperateLogsRequest::setActionType(const std::string& actionType)
+{
+	actionType_ = actionType;
+	setParameter("ActionType", actionType);
+}
+
+std::string DescribePdnsOperateLogsRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsOperateLogsRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+long DescribePdnsOperateLogsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribePdnsOperateLogsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribePdnsOperateLogsRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsOperateLogsRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+long DescribePdnsOperateLogsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribePdnsOperateLogsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribePdnsOperateLogsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsOperateLogsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribePdnsOperateLogsRequest::getKeyword()const
+{
+	return keyword_;
+}
+
+void DescribePdnsOperateLogsRequest::setKeyword(const std::string& keyword)
+{
+	keyword_ = keyword;
+	setParameter("Keyword", keyword);
+}
+

+ 84 - 0
alidns/src/model/DescribePdnsOperateLogsResult.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribePdnsOperateLogsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsOperateLogsResult::DescribePdnsOperateLogsResult() :
+	ServiceResult()
+{}
+
+DescribePdnsOperateLogsResult::DescribePdnsOperateLogsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsOperateLogsResult::~DescribePdnsOperateLogsResult()
+{}
+
+void DescribePdnsOperateLogsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allLogsNode = value["Logs"]["Log"];
+	for (auto valueLogsLog : allLogsNode)
+	{
+		Log logsObject;
+		if(!valueLogsLog["OperateTime"].isNull())
+			logsObject.operateTime = valueLogsLog["OperateTime"].asString();
+		if(!valueLogsLog["Action"].isNull())
+			logsObject.action = valueLogsLog["Action"].asString();
+		if(!valueLogsLog["Type"].isNull())
+			logsObject.type = valueLogsLog["Type"].asString();
+		if(!valueLogsLog["content"].isNull())
+			logsObject.content = valueLogsLog["content"].asString();
+		logs_.push_back(logsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+
+}
+
+long DescribePdnsOperateLogsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribePdnsOperateLogsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribePdnsOperateLogsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribePdnsOperateLogsResult::Log> DescribePdnsOperateLogsResult::getLogs()const
+{
+	return logs_;
+}
+

+ 95 - 0
alidns/src/model/DescribePdnsRequestStatisticRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribePdnsRequestStatisticRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsRequestStatisticRequest;
+
+DescribePdnsRequestStatisticRequest::DescribePdnsRequestStatisticRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsRequestStatistic")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsRequestStatisticRequest::~DescribePdnsRequestStatisticRequest()
+{}
+
+std::string DescribePdnsRequestStatisticRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribePdnsRequestStatisticRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribePdnsRequestStatisticRequest::getType()const
+{
+	return type_;
+}
+
+void DescribePdnsRequestStatisticRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribePdnsRequestStatisticRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsRequestStatisticRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+std::string DescribePdnsRequestStatisticRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsRequestStatisticRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+std::string DescribePdnsRequestStatisticRequest::getSubDomain()const
+{
+	return subDomain_;
+}
+
+void DescribePdnsRequestStatisticRequest::setSubDomain(const std::string& subDomain)
+{
+	subDomain_ = subDomain;
+	setParameter("SubDomain", subDomain);
+}
+
+std::string DescribePdnsRequestStatisticRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsRequestStatisticRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 81 - 0
alidns/src/model/DescribePdnsRequestStatisticResult.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/alidns/model/DescribePdnsRequestStatisticResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsRequestStatisticResult::DescribePdnsRequestStatisticResult() :
+	ServiceResult()
+{}
+
+DescribePdnsRequestStatisticResult::DescribePdnsRequestStatisticResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsRequestStatisticResult::~DescribePdnsRequestStatisticResult()
+{}
+
+void DescribePdnsRequestStatisticResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["StatisticItem"];
+	for (auto valueDataStatisticItem : allDataNode)
+	{
+		StatisticItem dataObject;
+		if(!valueDataStatisticItem["UdpTotalCount"].isNull())
+			dataObject.udpTotalCount = std::stol(valueDataStatisticItem["UdpTotalCount"].asString());
+		if(!valueDataStatisticItem["IpCount"].isNull())
+			dataObject.ipCount = std::stol(valueDataStatisticItem["IpCount"].asString());
+		if(!valueDataStatisticItem["TotalCount"].isNull())
+			dataObject.totalCount = std::stol(valueDataStatisticItem["TotalCount"].asString());
+		if(!valueDataStatisticItem["V4HttpCount"].isNull())
+			dataObject.v4HttpCount = std::stol(valueDataStatisticItem["V4HttpCount"].asString());
+		if(!valueDataStatisticItem["V6HttpCount"].isNull())
+			dataObject.v6HttpCount = std::stol(valueDataStatisticItem["V6HttpCount"].asString());
+		if(!valueDataStatisticItem["V4Count"].isNull())
+			dataObject.v4Count = std::stol(valueDataStatisticItem["V4Count"].asString());
+		if(!valueDataStatisticItem["HttpsCount"].isNull())
+			dataObject.httpsCount = std::stol(valueDataStatisticItem["HttpsCount"].asString());
+		if(!valueDataStatisticItem["HttpCount"].isNull())
+			dataObject.httpCount = std::stol(valueDataStatisticItem["HttpCount"].asString());
+		if(!valueDataStatisticItem["V4HttpsCount"].isNull())
+			dataObject.v4HttpsCount = std::stol(valueDataStatisticItem["V4HttpsCount"].asString());
+		if(!valueDataStatisticItem["Timestamp"].isNull())
+			dataObject.timestamp = std::stol(valueDataStatisticItem["Timestamp"].asString());
+		if(!valueDataStatisticItem["V6HttpsCount"].isNull())
+			dataObject.v6HttpsCount = std::stol(valueDataStatisticItem["V6HttpsCount"].asString());
+		if(!valueDataStatisticItem["DohTotalCount"].isNull())
+			dataObject.dohTotalCount = std::stol(valueDataStatisticItem["DohTotalCount"].asString());
+		if(!valueDataStatisticItem["V6Count"].isNull())
+			dataObject.v6Count = std::stol(valueDataStatisticItem["V6Count"].asString());
+		data_.push_back(dataObject);
+	}
+
+}
+
+std::vector<DescribePdnsRequestStatisticResult::StatisticItem> DescribePdnsRequestStatisticResult::getData()const
+{
+	return data_;
+}
+

+ 128 - 0
alidns/src/model/DescribePdnsRequestStatisticsRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/alidns/model/DescribePdnsRequestStatisticsRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsRequestStatisticsRequest;
+
+DescribePdnsRequestStatisticsRequest::DescribePdnsRequestStatisticsRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsRequestStatistics")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsRequestStatisticsRequest::~DescribePdnsRequestStatisticsRequest()
+{}
+
+std::string DescribePdnsRequestStatisticsRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+bool DescribePdnsRequestStatisticsRequest::getNeedThreatInfo()const
+{
+	return needThreatInfo_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setNeedThreatInfo(bool needThreatInfo)
+{
+	needThreatInfo_ = needThreatInfo;
+	setParameter("NeedThreatInfo", needThreatInfo ? "true" : "false");
+}
+
+std::string DescribePdnsRequestStatisticsRequest::getType()const
+{
+	return type_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribePdnsRequestStatisticsRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+long DescribePdnsRequestStatisticsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribePdnsRequestStatisticsRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+long DescribePdnsRequestStatisticsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribePdnsRequestStatisticsRequest::getSubDomain()const
+{
+	return subDomain_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setSubDomain(const std::string& subDomain)
+{
+	subDomain_ = subDomain;
+	setParameter("SubDomain", subDomain);
+}
+
+std::string DescribePdnsRequestStatisticsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsRequestStatisticsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 118 - 0
alidns/src/model/DescribePdnsRequestStatisticsResult.cc

@@ -0,0 +1,118 @@
+/*
+ * 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/alidns/model/DescribePdnsRequestStatisticsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsRequestStatisticsResult::DescribePdnsRequestStatisticsResult() :
+	ServiceResult()
+{}
+
+DescribePdnsRequestStatisticsResult::DescribePdnsRequestStatisticsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsRequestStatisticsResult::~DescribePdnsRequestStatisticsResult()
+{}
+
+void DescribePdnsRequestStatisticsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["StatisticItem"];
+	for (auto valueDataStatisticItem : allDataNode)
+	{
+		StatisticItem dataObject;
+		if(!valueDataStatisticItem["UdpTotalCount"].isNull())
+			dataObject.udpTotalCount = std::stol(valueDataStatisticItem["UdpTotalCount"].asString());
+		if(!valueDataStatisticItem["IpCount"].isNull())
+			dataObject.ipCount = std::stol(valueDataStatisticItem["IpCount"].asString());
+		if(!valueDataStatisticItem["DomainName"].isNull())
+			dataObject.domainName = valueDataStatisticItem["DomainName"].asString();
+		if(!valueDataStatisticItem["V6HttpCount"].isNull())
+			dataObject.v6HttpCount = std::stol(valueDataStatisticItem["V6HttpCount"].asString());
+		if(!valueDataStatisticItem["V4Count"].isNull())
+			dataObject.v4Count = std::stol(valueDataStatisticItem["V4Count"].asString());
+		if(!valueDataStatisticItem["HttpsCount"].isNull())
+			dataObject.httpsCount = std::stol(valueDataStatisticItem["HttpsCount"].asString());
+		if(!valueDataStatisticItem["V4HttpsCount"].isNull())
+			dataObject.v4HttpsCount = std::stol(valueDataStatisticItem["V4HttpsCount"].asString());
+		if(!valueDataStatisticItem["V6Count"].isNull())
+			dataObject.v6Count = std::stol(valueDataStatisticItem["V6Count"].asString());
+		if(!valueDataStatisticItem["SubDomain"].isNull())
+			dataObject.subDomain = valueDataStatisticItem["SubDomain"].asString();
+		if(!valueDataStatisticItem["TotalCount"].isNull())
+			dataObject.totalCount = std::stol(valueDataStatisticItem["TotalCount"].asString());
+		if(!valueDataStatisticItem["V4HttpCount"].isNull())
+			dataObject.v4HttpCount = std::stol(valueDataStatisticItem["V4HttpCount"].asString());
+		if(!valueDataStatisticItem["ThreatCount"].isNull())
+			dataObject.threatCount = std::stol(valueDataStatisticItem["ThreatCount"].asString());
+		if(!valueDataStatisticItem["MaxThreatLevel"].isNull())
+			dataObject.maxThreatLevel = valueDataStatisticItem["MaxThreatLevel"].asString();
+		if(!valueDataStatisticItem["HttpCount"].isNull())
+			dataObject.httpCount = std::stol(valueDataStatisticItem["HttpCount"].asString());
+		if(!valueDataStatisticItem["V6HttpsCount"].isNull())
+			dataObject.v6HttpsCount = std::stol(valueDataStatisticItem["V6HttpsCount"].asString());
+		if(!valueDataStatisticItem["DohTotalCount"].isNull())
+			dataObject.dohTotalCount = std::stol(valueDataStatisticItem["DohTotalCount"].asString());
+		auto allThreatInfoNode = valueDataStatisticItem["ThreatInfo"]["ThreatItem"];
+		for (auto valueDataStatisticItemThreatInfoThreatItem : allThreatInfoNode)
+		{
+			StatisticItem::ThreatItem threatInfoObject;
+			if(!valueDataStatisticItemThreatInfoThreatItem["ThreatLevel"].isNull())
+				threatInfoObject.threatLevel = valueDataStatisticItemThreatInfoThreatItem["ThreatLevel"].asString();
+			if(!valueDataStatisticItemThreatInfoThreatItem["ThreatType"].isNull())
+				threatInfoObject.threatType = valueDataStatisticItemThreatInfoThreatItem["ThreatType"].asString();
+			dataObject.threatInfo.push_back(threatInfoObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+
+}
+
+long DescribePdnsRequestStatisticsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribePdnsRequestStatisticsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribePdnsRequestStatisticsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribePdnsRequestStatisticsResult::StatisticItem> DescribePdnsRequestStatisticsResult::getData()const
+{
+	return data_;
+}
+

+ 128 - 0
alidns/src/model/DescribePdnsThreatLogsRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/alidns/model/DescribePdnsThreatLogsRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsThreatLogsRequest;
+
+DescribePdnsThreatLogsRequest::DescribePdnsThreatLogsRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsThreatLogs")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsThreatLogsRequest::~DescribePdnsThreatLogsRequest()
+{}
+
+std::string DescribePdnsThreatLogsRequest::getThreatSourceIp()const
+{
+	return threatSourceIp_;
+}
+
+void DescribePdnsThreatLogsRequest::setThreatSourceIp(const std::string& threatSourceIp)
+{
+	threatSourceIp_ = threatSourceIp;
+	setParameter("ThreatSourceIp", threatSourceIp);
+}
+
+std::string DescribePdnsThreatLogsRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsThreatLogsRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+long DescribePdnsThreatLogsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribePdnsThreatLogsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribePdnsThreatLogsRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsThreatLogsRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+long DescribePdnsThreatLogsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribePdnsThreatLogsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribePdnsThreatLogsRequest::getThreatType()const
+{
+	return threatType_;
+}
+
+void DescribePdnsThreatLogsRequest::setThreatType(const std::string& threatType)
+{
+	threatType_ = threatType;
+	setParameter("ThreatType", threatType);
+}
+
+std::string DescribePdnsThreatLogsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsThreatLogsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribePdnsThreatLogsRequest::getKeyword()const
+{
+	return keyword_;
+}
+
+void DescribePdnsThreatLogsRequest::setKeyword(const std::string& keyword)
+{
+	keyword_ = keyword;
+	setParameter("Keyword", keyword);
+}
+
+std::string DescribePdnsThreatLogsRequest::getThreatLevel()const
+{
+	return threatLevel_;
+}
+
+void DescribePdnsThreatLogsRequest::setThreatLevel(const std::string& threatLevel)
+{
+	threatLevel_ = threatLevel;
+	setParameter("ThreatLevel", threatLevel);
+}
+

+ 86 - 0
alidns/src/model/DescribePdnsThreatLogsResult.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/alidns/model/DescribePdnsThreatLogsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsThreatLogsResult::DescribePdnsThreatLogsResult() :
+	ServiceResult()
+{}
+
+DescribePdnsThreatLogsResult::DescribePdnsThreatLogsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsThreatLogsResult::~DescribePdnsThreatLogsResult()
+{}
+
+void DescribePdnsThreatLogsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allLogsNode = value["Logs"]["Log"];
+	for (auto valueLogsLog : allLogsNode)
+	{
+		Log logsObject;
+		if(!valueLogsLog["SubDomain"].isNull())
+			logsObject.subDomain = valueLogsLog["SubDomain"].asString();
+		if(!valueLogsLog["SourceIp"].isNull())
+			logsObject.sourceIp = valueLogsLog["SourceIp"].asString();
+		if(!valueLogsLog["ThreatLevel"].isNull())
+			logsObject.threatLevel = valueLogsLog["ThreatLevel"].asString();
+		if(!valueLogsLog["ThreatTime"].isNull())
+			logsObject.threatTime = valueLogsLog["ThreatTime"].asString();
+		if(!valueLogsLog["ThreatType"].isNull())
+			logsObject.threatType = valueLogsLog["ThreatType"].asString();
+		logs_.push_back(logsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+
+}
+
+long DescribePdnsThreatLogsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribePdnsThreatLogsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribePdnsThreatLogsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribePdnsThreatLogsResult::Log> DescribePdnsThreatLogsResult::getLogs()const
+{
+	return logs_;
+}
+

+ 84 - 0
alidns/src/model/DescribePdnsThreatStatisticRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribePdnsThreatStatisticRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsThreatStatisticRequest;
+
+DescribePdnsThreatStatisticRequest::DescribePdnsThreatStatisticRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsThreatStatistic")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsThreatStatisticRequest::~DescribePdnsThreatStatisticRequest()
+{}
+
+std::string DescribePdnsThreatStatisticRequest::getThreatSourceIp()const
+{
+	return threatSourceIp_;
+}
+
+void DescribePdnsThreatStatisticRequest::setThreatSourceIp(const std::string& threatSourceIp)
+{
+	threatSourceIp_ = threatSourceIp;
+	setParameter("ThreatSourceIp", threatSourceIp);
+}
+
+std::string DescribePdnsThreatStatisticRequest::getType()const
+{
+	return type_;
+}
+
+void DescribePdnsThreatStatisticRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribePdnsThreatStatisticRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsThreatStatisticRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+std::string DescribePdnsThreatStatisticRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsThreatStatisticRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+std::string DescribePdnsThreatStatisticRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsThreatStatisticRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 67 - 0
alidns/src/model/DescribePdnsThreatStatisticResult.cc

@@ -0,0 +1,67 @@
+/*
+ * 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/alidns/model/DescribePdnsThreatStatisticResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsThreatStatisticResult::DescribePdnsThreatStatisticResult() :
+	ServiceResult()
+{}
+
+DescribePdnsThreatStatisticResult::DescribePdnsThreatStatisticResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsThreatStatisticResult::~DescribePdnsThreatStatisticResult()
+{}
+
+void DescribePdnsThreatStatisticResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["StatisticItem"];
+	for (auto valueDataStatisticItem : allDataNode)
+	{
+		StatisticItem dataObject;
+		if(!valueDataStatisticItem["UdpTotalCount"].isNull())
+			dataObject.udpTotalCount = std::stol(valueDataStatisticItem["UdpTotalCount"].asString());
+		if(!valueDataStatisticItem["TotalCount"].isNull())
+			dataObject.totalCount = std::stol(valueDataStatisticItem["TotalCount"].asString());
+		if(!valueDataStatisticItem["ThreatLevel"].isNull())
+			dataObject.threatLevel = valueDataStatisticItem["ThreatLevel"].asString();
+		if(!valueDataStatisticItem["ThreatType"].isNull())
+			dataObject.threatType = valueDataStatisticItem["ThreatType"].asString();
+		if(!valueDataStatisticItem["Timestamp"].isNull())
+			dataObject.timestamp = std::stol(valueDataStatisticItem["Timestamp"].asString());
+		if(!valueDataStatisticItem["DohTotalCount"].isNull())
+			dataObject.dohTotalCount = std::stol(valueDataStatisticItem["DohTotalCount"].asString());
+		data_.push_back(dataObject);
+	}
+
+}
+
+std::vector<DescribePdnsThreatStatisticResult::StatisticItem> DescribePdnsThreatStatisticResult::getData()const
+{
+	return data_;
+}
+

+ 172 - 0
alidns/src/model/DescribePdnsThreatStatisticsRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribePdnsThreatStatisticsRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsThreatStatisticsRequest;
+
+DescribePdnsThreatStatisticsRequest::DescribePdnsThreatStatisticsRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsThreatStatistics")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsThreatStatisticsRequest::~DescribePdnsThreatStatisticsRequest()
+{}
+
+std::string DescribePdnsThreatStatisticsRequest::getType()const
+{
+	return type_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setParameter("StartDate", startDate);
+}
+
+long DescribePdnsThreatStatisticsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+long DescribePdnsThreatStatisticsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getThreatType()const
+{
+	return threatType_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setThreatType(const std::string& threatType)
+{
+	threatType_ = threatType;
+	setParameter("ThreatType", threatType);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getDirection()const
+{
+	return direction_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setDirection(const std::string& direction)
+{
+	direction_ = direction;
+	setParameter("Direction", direction);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getThreatSourceIp()const
+{
+	return threatSourceIp_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setThreatSourceIp(const std::string& threatSourceIp)
+{
+	threatSourceIp_ = threatSourceIp;
+	setParameter("ThreatSourceIp", threatSourceIp);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getOrderBy()const
+{
+	return orderBy_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setOrderBy(const std::string& orderBy)
+{
+	orderBy_ = orderBy;
+	setParameter("OrderBy", orderBy);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getEndDate()const
+{
+	return endDate_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setEndDate(const std::string& endDate)
+{
+	endDate_ = endDate;
+	setParameter("EndDate", endDate);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getSubDomain()const
+{
+	return subDomain_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setSubDomain(const std::string& subDomain)
+{
+	subDomain_ = subDomain;
+	setParameter("SubDomain", subDomain);
+}
+
+std::string DescribePdnsThreatStatisticsRequest::getThreatLevel()const
+{
+	return threatLevel_;
+}
+
+void DescribePdnsThreatStatisticsRequest::setThreatLevel(const std::string& threatLevel)
+{
+	threatLevel_ = threatLevel;
+	setParameter("ThreatLevel", threatLevel);
+}
+

+ 98 - 0
alidns/src/model/DescribePdnsThreatStatisticsResult.cc

@@ -0,0 +1,98 @@
+/*
+ * 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/alidns/model/DescribePdnsThreatStatisticsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsThreatStatisticsResult::DescribePdnsThreatStatisticsResult() :
+	ServiceResult()
+{}
+
+DescribePdnsThreatStatisticsResult::DescribePdnsThreatStatisticsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsThreatStatisticsResult::~DescribePdnsThreatStatisticsResult()
+{}
+
+void DescribePdnsThreatStatisticsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["StatisticItem"];
+	for (auto valueDataStatisticItem : allDataNode)
+	{
+		StatisticItem dataObject;
+		if(!valueDataStatisticItem["SubDomain"].isNull())
+			dataObject.subDomain = valueDataStatisticItem["SubDomain"].asString();
+		if(!valueDataStatisticItem["UdpTotalCount"].isNull())
+			dataObject.udpTotalCount = std::stol(valueDataStatisticItem["UdpTotalCount"].asString());
+		if(!valueDataStatisticItem["TotalCount"].isNull())
+			dataObject.totalCount = std::stol(valueDataStatisticItem["TotalCount"].asString());
+		if(!valueDataStatisticItem["SourceIp"].isNull())
+			dataObject.sourceIp = valueDataStatisticItem["SourceIp"].asString();
+		if(!valueDataStatisticItem["ThreatLevel"].isNull())
+			dataObject.threatLevel = valueDataStatisticItem["ThreatLevel"].asString();
+		if(!valueDataStatisticItem["DomainName"].isNull())
+			dataObject.domainName = valueDataStatisticItem["DomainName"].asString();
+		if(!valueDataStatisticItem["ThreatType"].isNull())
+			dataObject.threatType = valueDataStatisticItem["ThreatType"].asString();
+		if(!valueDataStatisticItem["MaxThreatLevel"].isNull())
+			dataObject.maxThreatLevel = valueDataStatisticItem["MaxThreatLevel"].asString();
+		if(!valueDataStatisticItem["LatestThreatTime"].isNull())
+			dataObject.latestThreatTime = std::stol(valueDataStatisticItem["LatestThreatTime"].asString());
+		if(!valueDataStatisticItem["DohTotalCount"].isNull())
+			dataObject.dohTotalCount = std::stol(valueDataStatisticItem["DohTotalCount"].asString());
+		if(!valueDataStatisticItem["DomainCount"].isNull())
+			dataObject.domainCount = std::stol(valueDataStatisticItem["DomainCount"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+
+}
+
+long DescribePdnsThreatStatisticsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribePdnsThreatStatisticsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribePdnsThreatStatisticsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribePdnsThreatStatisticsResult::StatisticItem> DescribePdnsThreatStatisticsResult::getData()const
+{
+	return data_;
+}
+

+ 62 - 0
alidns/src/model/DescribePdnsUdpIpSegmentsRequest.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/alidns/model/DescribePdnsUdpIpSegmentsRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsUdpIpSegmentsRequest;
+
+DescribePdnsUdpIpSegmentsRequest::DescribePdnsUdpIpSegmentsRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsUdpIpSegments")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsUdpIpSegmentsRequest::~DescribePdnsUdpIpSegmentsRequest()
+{}
+
+long DescribePdnsUdpIpSegmentsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribePdnsUdpIpSegmentsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+long DescribePdnsUdpIpSegmentsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribePdnsUdpIpSegmentsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribePdnsUdpIpSegmentsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsUdpIpSegmentsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 88 - 0
alidns/src/model/DescribePdnsUdpIpSegmentsResult.cc

@@ -0,0 +1,88 @@
+/*
+ * 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/alidns/model/DescribePdnsUdpIpSegmentsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsUdpIpSegmentsResult::DescribePdnsUdpIpSegmentsResult() :
+	ServiceResult()
+{}
+
+DescribePdnsUdpIpSegmentsResult::DescribePdnsUdpIpSegmentsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsUdpIpSegmentsResult::~DescribePdnsUdpIpSegmentsResult()
+{}
+
+void DescribePdnsUdpIpSegmentsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allIpSegmentsNode = value["IpSegments"]["IpSegment"];
+	for (auto valueIpSegmentsIpSegment : allIpSegmentsNode)
+	{
+		IpSegment ipSegmentsObject;
+		if(!valueIpSegmentsIpSegment["UpdateDate"].isNull())
+			ipSegmentsObject.updateDate = valueIpSegmentsIpSegment["UpdateDate"].asString();
+		if(!valueIpSegmentsIpSegment["State"].isNull())
+			ipSegmentsObject.state = valueIpSegmentsIpSegment["State"].asString();
+		if(!valueIpSegmentsIpSegment["Ip"].isNull())
+			ipSegmentsObject.ip = valueIpSegmentsIpSegment["Ip"].asString();
+		if(!valueIpSegmentsIpSegment["Mask"].isNull())
+			ipSegmentsObject.mask = std::stol(valueIpSegmentsIpSegment["Mask"].asString());
+		if(!valueIpSegmentsIpSegment["CreateDate"].isNull())
+			ipSegmentsObject.createDate = valueIpSegmentsIpSegment["CreateDate"].asString();
+		if(!valueIpSegmentsIpSegment["Name"].isNull())
+			ipSegmentsObject.name = valueIpSegmentsIpSegment["Name"].asString();
+		ipSegments_.push_back(ipSegmentsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+
+}
+
+long DescribePdnsUdpIpSegmentsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribePdnsUdpIpSegmentsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribePdnsUdpIpSegmentsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribePdnsUdpIpSegmentsResult::IpSegment> DescribePdnsUdpIpSegmentsResult::getIpSegments()const
+{
+	return ipSegments_;
+}
+

+ 40 - 0
alidns/src/model/DescribePdnsUserInfoRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/alidns/model/DescribePdnsUserInfoRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribePdnsUserInfoRequest;
+
+DescribePdnsUserInfoRequest::DescribePdnsUserInfoRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribePdnsUserInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePdnsUserInfoRequest::~DescribePdnsUserInfoRequest()
+{}
+
+std::string DescribePdnsUserInfoRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePdnsUserInfoRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 60 - 0
alidns/src/model/DescribePdnsUserInfoResult.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribePdnsUserInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribePdnsUserInfoResult::DescribePdnsUserInfoResult() :
+	ServiceResult()
+{}
+
+DescribePdnsUserInfoResult::DescribePdnsUserInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePdnsUserInfoResult::~DescribePdnsUserInfoResult()
+{}
+
+void DescribePdnsUserInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto userInfoNode = value["UserInfo"];
+	if(!userInfoNode["AvailableService"].isNull())
+		userInfo_.availableService = userInfoNode["AvailableService"].asString();
+	if(!userInfoNode["ServiceType"].isNull())
+		userInfo_.serviceType = userInfoNode["ServiceType"].asString();
+	if(!userInfoNode["State"].isNull())
+		userInfo_.state = userInfoNode["State"].asString();
+	if(!userInfoNode["StoppedService"].isNull())
+		userInfo_.stoppedService = userInfoNode["StoppedService"].asString();
+	if(!userInfoNode["PdnsId"].isNull())
+		userInfo_.pdnsId = std::stol(userInfoNode["PdnsId"].asString());
+
+}
+
+DescribePdnsUserInfoResult::UserInfo DescribePdnsUserInfoResult::getUserInfo()const
+{
+	return userInfo_;
+}
+

+ 51 - 0
alidns/src/model/PausePdnsServiceRequest.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/alidns/model/PausePdnsServiceRequest.h>
+
+using AlibabaCloud::Alidns::Model::PausePdnsServiceRequest;
+
+PausePdnsServiceRequest::PausePdnsServiceRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "PausePdnsService")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+PausePdnsServiceRequest::~PausePdnsServiceRequest()
+{}
+
+std::string PausePdnsServiceRequest::getServiceType()const
+{
+	return serviceType_;
+}
+
+void PausePdnsServiceRequest::setServiceType(const std::string& serviceType)
+{
+	serviceType_ = serviceType;
+	setParameter("ServiceType", serviceType);
+}
+
+std::string PausePdnsServiceRequest::getLang()const
+{
+	return lang_;
+}
+
+void PausePdnsServiceRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 51 - 0
alidns/src/model/RemovePdnsAppKeyRequest.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/alidns/model/RemovePdnsAppKeyRequest.h>
+
+using AlibabaCloud::Alidns::Model::RemovePdnsAppKeyRequest;
+
+RemovePdnsAppKeyRequest::RemovePdnsAppKeyRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "RemovePdnsAppKey")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+RemovePdnsAppKeyRequest::~RemovePdnsAppKeyRequest()
+{}
+
+std::string RemovePdnsAppKeyRequest::getAppKeyId()const
+{
+	return appKeyId_;
+}
+
+void RemovePdnsAppKeyRequest::setAppKeyId(const std::string& appKeyId)
+{
+	appKeyId_ = appKeyId;
+	setParameter("AppKeyId", appKeyId);
+}
+
+std::string RemovePdnsAppKeyRequest::getLang()const
+{
+	return lang_;
+}
+
+void RemovePdnsAppKeyRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 51 - 0
alidns/src/model/RemovePdnsUdpIpSegmentRequest.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/alidns/model/RemovePdnsUdpIpSegmentRequest.h>
+
+using AlibabaCloud::Alidns::Model::RemovePdnsUdpIpSegmentRequest;
+
+RemovePdnsUdpIpSegmentRequest::RemovePdnsUdpIpSegmentRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "RemovePdnsUdpIpSegment")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+RemovePdnsUdpIpSegmentRequest::~RemovePdnsUdpIpSegmentRequest()
+{}
+
+std::string RemovePdnsUdpIpSegmentRequest::getIp()const
+{
+	return ip_;
+}
+
+void RemovePdnsUdpIpSegmentRequest::setIp(const std::string& ip)
+{
+	ip_ = ip;
+	setParameter("Ip", ip);
+}
+
+std::string RemovePdnsUdpIpSegmentRequest::getLang()const
+{
+	return lang_;
+}
+
+void RemovePdnsUdpIpSegmentRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 51 - 0
alidns/src/model/ResumePdnsServiceRequest.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/alidns/model/ResumePdnsServiceRequest.h>
+
+using AlibabaCloud::Alidns::Model::ResumePdnsServiceRequest;
+
+ResumePdnsServiceRequest::ResumePdnsServiceRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "ResumePdnsService")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ResumePdnsServiceRequest::~ResumePdnsServiceRequest()
+{}
+
+std::string ResumePdnsServiceRequest::getServiceType()const
+{
+	return serviceType_;
+}
+
+void ResumePdnsServiceRequest::setServiceType(const std::string& serviceType)
+{
+	serviceType_ = serviceType;
+	setParameter("ServiceType", serviceType);
+}
+
+std::string ResumePdnsServiceRequest::getLang()const
+{
+	return lang_;
+}
+
+void ResumePdnsServiceRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 62 - 0
alidns/src/model/UpdateAppKeyStateRequest.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/alidns/model/UpdateAppKeyStateRequest.h>
+
+using AlibabaCloud::Alidns::Model::UpdateAppKeyStateRequest;
+
+UpdateAppKeyStateRequest::UpdateAppKeyStateRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "UpdateAppKeyState")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateAppKeyStateRequest::~UpdateAppKeyStateRequest()
+{}
+
+std::string UpdateAppKeyStateRequest::getAppKeyId()const
+{
+	return appKeyId_;
+}
+
+void UpdateAppKeyStateRequest::setAppKeyId(const std::string& appKeyId)
+{
+	appKeyId_ = appKeyId;
+	setParameter("AppKeyId", appKeyId);
+}
+
+std::string UpdateAppKeyStateRequest::getState()const
+{
+	return state_;
+}
+
+void UpdateAppKeyStateRequest::setState(const std::string& state)
+{
+	state_ = state;
+	setParameter("State", state);
+}
+
+std::string UpdateAppKeyStateRequest::getLang()const
+{
+	return lang_;
+}
+
+void UpdateAppKeyStateRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 11 - 0
alidns/src/model/UpdateDnsGtmAccessStrategyRequest.cc

@@ -224,3 +224,14 @@ void UpdateDnsGtmAccessStrategyRequest::setFailoverAddrPool(const std::vector<Fa
 	}
 }
 
+std::string UpdateDnsGtmAccessStrategyRequest::getAccessMode()const
+{
+	return accessMode_;
+}
+
+void UpdateDnsGtmAccessStrategyRequest::setAccessMode(const std::string& accessMode)
+{
+	accessMode_ = accessMode;
+	setParameter("AccessMode", accessMode);
+}
+

+ 23 - 0
alidns/src/model/UpdateDnsGtmInstanceGlobalConfigRequest.cc

@@ -71,6 +71,7 @@ void UpdateDnsGtmInstanceGlobalConfigRequest::setAlertConfig(const std::vector<A
 	for(int dep1 = 0; dep1!= alertConfig.size(); dep1++) {
 		auto alertConfigObj = alertConfig.at(dep1);
 		std::string alertConfigObjStr = "AlertConfig." + std::to_string(dep1 + 1);
+		setParameter(alertConfigObjStr + ".DingtalkNotice", alertConfigObj.dingtalkNotice ? "true" : "false");
 		setParameter(alertConfigObjStr + ".SmsNotice", alertConfigObj.smsNotice ? "true" : "false");
 		setParameter(alertConfigObjStr + ".NoticeType", alertConfigObj.noticeType);
 		setParameter(alertConfigObjStr + ".EmailNotice", alertConfigObj.emailNotice ? "true" : "false");
@@ -110,6 +111,17 @@ void UpdateDnsGtmInstanceGlobalConfigRequest::setTtl(int ttl)
 	setParameter("Ttl", std::to_string(ttl));
 }
 
+bool UpdateDnsGtmInstanceGlobalConfigRequest::getForceUpdate()const
+{
+	return forceUpdate_;
+}
+
+void UpdateDnsGtmInstanceGlobalConfigRequest::setForceUpdate(bool forceUpdate)
+{
+	forceUpdate_ = forceUpdate;
+	setParameter("ForceUpdate", forceUpdate ? "true" : "false");
+}
+
 std::string UpdateDnsGtmInstanceGlobalConfigRequest::getInstanceId()const
 {
 	return instanceId_;
@@ -132,6 +144,17 @@ void UpdateDnsGtmInstanceGlobalConfigRequest::setInstanceName(const std::string&
 	setParameter("InstanceName", instanceName);
 }
 
+std::string UpdateDnsGtmInstanceGlobalConfigRequest::getPublicRr()const
+{
+	return publicRr_;
+}
+
+void UpdateDnsGtmInstanceGlobalConfigRequest::setPublicRr(const std::string& publicRr)
+{
+	publicRr_ = publicRr;
+	setParameter("PublicRr", publicRr);
+}
+
 std::string UpdateDnsGtmInstanceGlobalConfigRequest::getUserClientIp()const
 {
 	return userClientIp_;

+ 106 - 0
alidns/src/model/ValidateDnsGtmCnameRrCanUseRequest.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/alidns/model/ValidateDnsGtmCnameRrCanUseRequest.h>
+
+using AlibabaCloud::Alidns::Model::ValidateDnsGtmCnameRrCanUseRequest;
+
+ValidateDnsGtmCnameRrCanUseRequest::ValidateDnsGtmCnameRrCanUseRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "ValidateDnsGtmCnameRrCanUse")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ValidateDnsGtmCnameRrCanUseRequest::~ValidateDnsGtmCnameRrCanUseRequest()
+{}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getCnameMode()const
+{
+	return cnameMode_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setCnameMode(const std::string& cnameMode)
+{
+	cnameMode_ = cnameMode;
+	setParameter("CnameMode", cnameMode);
+}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getCnameZone()const
+{
+	return cnameZone_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setCnameZone(const std::string& cnameZone)
+{
+	cnameZone_ = cnameZone;
+	setParameter("CnameZone", cnameZone);
+}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getCnameRr()const
+{
+	return cnameRr_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setCnameRr(const std::string& cnameRr)
+{
+	cnameRr_ = cnameRr;
+	setParameter("CnameRr", cnameRr);
+}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getCnameType()const
+{
+	return cnameType_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setCnameType(const std::string& cnameType)
+{
+	cnameType_ = cnameType;
+	setParameter("CnameType", cnameType);
+}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::string ValidateDnsGtmCnameRrCanUseRequest::getLang()const
+{
+	return lang_;
+}
+
+void ValidateDnsGtmCnameRrCanUseRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

+ 51 - 0
alidns/src/model/ValidatePdnsUdpIpSegmentRequest.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/alidns/model/ValidatePdnsUdpIpSegmentRequest.h>
+
+using AlibabaCloud::Alidns::Model::ValidatePdnsUdpIpSegmentRequest;
+
+ValidatePdnsUdpIpSegmentRequest::ValidatePdnsUdpIpSegmentRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "ValidatePdnsUdpIpSegment")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ValidatePdnsUdpIpSegmentRequest::~ValidatePdnsUdpIpSegmentRequest()
+{}
+
+std::string ValidatePdnsUdpIpSegmentRequest::getIp()const
+{
+	return ip_;
+}
+
+void ValidatePdnsUdpIpSegmentRequest::setIp(const std::string& ip)
+{
+	ip_ = ip;
+	setParameter("Ip", ip);
+}
+
+std::string ValidatePdnsUdpIpSegmentRequest::getLang()const
+{
+	return lang_;
+}
+
+void ValidatePdnsUdpIpSegmentRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

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

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません