Bladeren bron

ALIDNS SDK Auto Released By shenshi,Version:1.34.52

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 jaren geleden
bovenliggende
commit
7c93bd13dc
100 gewijzigde bestanden met toevoegingen van 6758 en 2 verwijderingen
  1. 3 0
      CHANGELOG
  2. 2 1
      CMakeLists.txt
  3. 1 1
      VERSION
  4. 314 0
      alidns/CMakeLists.txt
  5. 510 0
      alidns/include/alibabacloud/alidns/AlidnsClient.h
  6. 32 0
      alidns/include/alibabacloud/alidns/AlidnsExport.h
  7. 57 0
      alidns/include/alibabacloud/alidns/model/AddDomainGroupRequest.h
  8. 53 0
      alidns/include/alibabacloud/alidns/model/AddDomainGroupResult.h
  9. 75 0
      alidns/include/alibabacloud/alidns/model/AddDomainRecordRequest.h
  10. 51 0
      alidns/include/alibabacloud/alidns/model/AddDomainRecordResult.h
  11. 57 0
      alidns/include/alibabacloud/alidns/model/AddDomainRequest.h
  12. 61 0
      alidns/include/alibabacloud/alidns/model/AddDomainResult.h
  13. 66 0
      alidns/include/alibabacloud/alidns/model/AddGtmAccessStrategyRequest.h
  14. 51 0
      alidns/include/alibabacloud/alidns/model/AddGtmAccessStrategyResult.h
  15. 72 0
      alidns/include/alibabacloud/alidns/model/AddGtmAddressPoolRequest.h
  16. 51 0
      alidns/include/alibabacloud/alidns/model/AddGtmAddressPoolResult.h
  17. 80 0
      alidns/include/alibabacloud/alidns/model/AddGtmMonitorRequest.h
  18. 51 0
      alidns/include/alibabacloud/alidns/model/AddGtmMonitorResult.h
  19. 60 0
      alidns/include/alibabacloud/alidns/model/ChangeDomainGroupRequest.h
  20. 53 0
      alidns/include/alibabacloud/alidns/model/ChangeDomainGroupResult.h
  21. 63 0
      alidns/include/alibabacloud/alidns/model/ChangeDomainOfDnsProductRequest.h
  22. 51 0
      alidns/include/alibabacloud/alidns/model/ChangeDomainOfDnsProductResult.h
  23. 66 0
      alidns/include/alibabacloud/alidns/model/CheckDomainRecordRequest.h
  24. 51 0
      alidns/include/alibabacloud/alidns/model/CheckDomainRecordResult.h
  25. 69 0
      alidns/include/alibabacloud/alidns/model/CreateInstanceRequest.h
  26. 53 0
      alidns/include/alibabacloud/alidns/model/CreateInstanceResult.h
  27. 57 0
      alidns/include/alibabacloud/alidns/model/DeleteDomainGroupRequest.h
  28. 51 0
      alidns/include/alibabacloud/alidns/model/DeleteDomainGroupResult.h
  29. 57 0
      alidns/include/alibabacloud/alidns/model/DeleteDomainRecordRequest.h
  30. 51 0
      alidns/include/alibabacloud/alidns/model/DeleteDomainRecordResult.h
  31. 57 0
      alidns/include/alibabacloud/alidns/model/DeleteDomainRequest.h
  32. 51 0
      alidns/include/alibabacloud/alidns/model/DeleteDomainResult.h
  33. 54 0
      alidns/include/alibabacloud/alidns/model/DeleteGtmAccessStrategyRequest.h
  34. 49 0
      alidns/include/alibabacloud/alidns/model/DeleteGtmAccessStrategyResult.h
  35. 54 0
      alidns/include/alibabacloud/alidns/model/DeleteGtmAddressPoolRequest.h
  36. 49 0
      alidns/include/alibabacloud/alidns/model/DeleteGtmAddressPoolResult.h
  37. 63 0
      alidns/include/alibabacloud/alidns/model/DeleteSubDomainRecordsRequest.h
  38. 53 0
      alidns/include/alibabacloud/alidns/model/DeleteSubDomainRecordsResult.h
  39. 57 0
      alidns/include/alibabacloud/alidns/model/DescribeBatchResultCountRequest.h
  40. 63 0
      alidns/include/alibabacloud/alidns/model/DescribeBatchResultCountResult.h
  41. 63 0
      alidns/include/alibabacloud/alidns/model/DescribeBatchResultDetailRequest.h
  42. 76 0
      alidns/include/alibabacloud/alidns/model/DescribeBatchResultDetailResult.h
  43. 63 0
      alidns/include/alibabacloud/alidns/model/DescribeDNSSLBSubDomainsRequest.h
  44. 64 0
      alidns/include/alibabacloud/alidns/model/DescribeDNSSLBSubDomainsResult.h
  45. 57 0
      alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstanceRequest.h
  46. 113 0
      alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstanceResult.h
  47. 63 0
      alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstancesRequest.h
  48. 91 0
      alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstancesResult.h
  49. 63 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainGroupsRequest.h
  50. 63 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainGroupsResult.h
  51. 60 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainInfoRequest.h
  52. 96 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainInfoResult.h
  53. 72 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainLogsRequest.h
  54. 66 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainLogsResult.h
  55. 57 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainNsRequest.h
  56. 57 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainNsResult.h
  57. 57 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainRecordInfoRequest.h
  58. 77 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainRecordInfoResult.h
  59. 84 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainRecordsRequest.h
  60. 72 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainRecordsResult.h
  61. 66 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainsRequest.h
  62. 75 0
      alidns/include/alibabacloud/alidns/model/DescribeDomainsResult.h
  63. 60 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategiesRequest.h
  64. 82 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategiesResult.h
  65. 54 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyAvailableConfigRequest.h
  66. 66 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyAvailableConfigResult.h
  67. 54 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyRequest.h
  68. 78 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyResult.h
  69. 51 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAvailableAlertGroupRequest.h
  70. 51 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmAvailableAlertGroupResult.h
  71. 54 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolRequest.h
  72. 87 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolResult.h
  73. 60 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolsRequest.h
  74. 74 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolsResult.h
  75. 54 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceRequest.h
  76. 73 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceResult.h
  77. 54 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceStatusRequest.h
  78. 53 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceStatusResult.h
  79. 60 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstancesRequest.h
  80. 74 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmInstancesResult.h
  81. 69 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmLogsRequest.h
  82. 71 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmLogsResult.h
  83. 51 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorAvailableConfigRequest.h
  84. 60 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorAvailableConfigResult.h
  85. 54 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorConfigRequest.h
  86. 80 0
      alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorConfigResult.h
  87. 72 0
      alidns/include/alibabacloud/alidns/model/DescribeRecordLogsRequest.h
  88. 65 0
      alidns/include/alibabacloud/alidns/model/DescribeRecordLogsResult.h
  89. 69 0
      alidns/include/alibabacloud/alidns/model/DescribeSubDomainRecordsRequest.h
  90. 71 0
      alidns/include/alibabacloud/alidns/model/DescribeSubDomainRecordsResult.h
  91. 57 0
      alidns/include/alibabacloud/alidns/model/DescribeSupportLinesRequest.h
  92. 58 0
      alidns/include/alibabacloud/alidns/model/DescribeSupportLinesResult.h
  93. 57 0
      alidns/include/alibabacloud/alidns/model/GetMainDomainNameRequest.h
  94. 55 0
      alidns/include/alibabacloud/alidns/model/GetMainDomainNameResult.h
  95. 57 0
      alidns/include/alibabacloud/alidns/model/ModifyHichinaDomainDNSRequest.h
  96. 53 0
      alidns/include/alibabacloud/alidns/model/ModifyHichinaDomainDNSResult.h
  97. 67 0
      alidns/include/alibabacloud/alidns/model/OperateBatchDomainRequest.h
  98. 51 0
      alidns/include/alibabacloud/alidns/model/OperateBatchDomainResult.h
  99. 63 0
      alidns/include/alibabacloud/alidns/model/QueryCreateInstancePriceRequest.h
  100. 65 0
      alidns/include/alibabacloud/alidns/model/QueryCreateInstancePriceResult.h

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-03-20 Version: 1.34.52
+1, Update Dependency
+
 2019-03-19 Version: 1.34.51
 1, Support ' fc ' Source DomainName
 

+ 2 - 1
CMakeLists.txt

@@ -111,4 +111,5 @@ add_subdirectory(arms4finance)
 add_subdirectory(imagesearch)
 add_subdirectory(cas)
 add_subdirectory(bssopenapi)
-add_subdirectory(cloudwf)
+add_subdirectory(cloudwf)
+add_subdirectory(alidns)

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.34.51
+1.34.52

+ 314 - 0
alidns/CMakeLists.txt

@@ -0,0 +1,314 @@
+#
+# 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.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(alidns_public_header 
+	include/alibabacloud/alidns/AlidnsClient.h
+	include/alibabacloud/alidns/AlidnsExport.h )
+
+set(alidns_public_header_model 
+	include/alibabacloud/alidns/model/DescribeDNSSLBSubDomainsRequest.h
+	include/alibabacloud/alidns/model/DescribeDNSSLBSubDomainsResult.h
+	include/alibabacloud/alidns/model/SetGtmAccessModeRequest.h
+	include/alibabacloud/alidns/model/SetGtmAccessModeResult.h
+	include/alibabacloud/alidns/model/ModifyHichinaDomainDNSRequest.h
+	include/alibabacloud/alidns/model/ModifyHichinaDomainDNSResult.h
+	include/alibabacloud/alidns/model/CreateInstanceRequest.h
+	include/alibabacloud/alidns/model/CreateInstanceResult.h
+	include/alibabacloud/alidns/model/DescribeSubDomainRecordsRequest.h
+	include/alibabacloud/alidns/model/DescribeSubDomainRecordsResult.h
+	include/alibabacloud/alidns/model/DescribeRecordLogsRequest.h
+	include/alibabacloud/alidns/model/DescribeRecordLogsResult.h
+	include/alibabacloud/alidns/model/DescribeBatchResultCountRequest.h
+	include/alibabacloud/alidns/model/DescribeBatchResultCountResult.h
+	include/alibabacloud/alidns/model/DescribeGtmInstancesRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmInstancesResult.h
+	include/alibabacloud/alidns/model/UpdateGtmAddressPoolRequest.h
+	include/alibabacloud/alidns/model/UpdateGtmAddressPoolResult.h
+	include/alibabacloud/alidns/model/DescribeGtmAccessStrategiesRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmAccessStrategiesResult.h
+	include/alibabacloud/alidns/model/UpdateGtmInstanceGlobalConfigRequest.h
+	include/alibabacloud/alidns/model/UpdateGtmInstanceGlobalConfigResult.h
+	include/alibabacloud/alidns/model/UpdateDomainRecordRequest.h
+	include/alibabacloud/alidns/model/UpdateDomainRecordResult.h
+	include/alibabacloud/alidns/model/DescribeDomainGroupsRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainGroupsResult.h
+	include/alibabacloud/alidns/model/UpdateGtmAccessStrategyRequest.h
+	include/alibabacloud/alidns/model/UpdateGtmAccessStrategyResult.h
+	include/alibabacloud/alidns/model/DeleteDomainRecordRequest.h
+	include/alibabacloud/alidns/model/DeleteDomainRecordResult.h
+	include/alibabacloud/alidns/model/DescribeDomainRecordsRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainRecordsResult.h
+	include/alibabacloud/alidns/model/DescribeDomainRecordInfoRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainRecordInfoResult.h
+	include/alibabacloud/alidns/model/AddDomainRequest.h
+	include/alibabacloud/alidns/model/AddDomainResult.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolResult.h
+	include/alibabacloud/alidns/model/UpdateDNSSLBWeightRequest.h
+	include/alibabacloud/alidns/model/UpdateDNSSLBWeightResult.h
+	include/alibabacloud/alidns/model/DescribeBatchResultDetailRequest.h
+	include/alibabacloud/alidns/model/DescribeBatchResultDetailResult.h
+	include/alibabacloud/alidns/model/SetDomainRecordStatusRequest.h
+	include/alibabacloud/alidns/model/SetDomainRecordStatusResult.h
+	include/alibabacloud/alidns/model/UpdateDomainGroupRequest.h
+	include/alibabacloud/alidns/model/UpdateDomainGroupResult.h
+	include/alibabacloud/alidns/model/DescribeDnsProductInstancesRequest.h
+	include/alibabacloud/alidns/model/DescribeDnsProductInstancesResult.h
+	include/alibabacloud/alidns/model/SetGtmMonitorStatusRequest.h
+	include/alibabacloud/alidns/model/SetGtmMonitorStatusResult.h
+	include/alibabacloud/alidns/model/DescribeDnsProductInstanceRequest.h
+	include/alibabacloud/alidns/model/DescribeDnsProductInstanceResult.h
+	include/alibabacloud/alidns/model/DescribeGtmLogsRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmLogsResult.h
+	include/alibabacloud/alidns/model/OperateBatchDomainRequest.h
+	include/alibabacloud/alidns/model/OperateBatchDomainResult.h
+	include/alibabacloud/alidns/model/DeleteDomainGroupRequest.h
+	include/alibabacloud/alidns/model/DeleteDomainGroupResult.h
+	include/alibabacloud/alidns/model/DescribeDomainLogsRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainLogsResult.h
+	include/alibabacloud/alidns/model/AddGtmMonitorRequest.h
+	include/alibabacloud/alidns/model/AddGtmMonitorResult.h
+	include/alibabacloud/alidns/model/DescribeDomainsRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainsResult.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceStatusRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceStatusResult.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceResult.h
+	include/alibabacloud/alidns/model/DescribeDomainInfoRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainInfoResult.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolsRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolsResult.h
+	include/alibabacloud/alidns/model/DescribeSupportLinesRequest.h
+	include/alibabacloud/alidns/model/DescribeSupportLinesResult.h
+	include/alibabacloud/alidns/model/AddDomainRecordRequest.h
+	include/alibabacloud/alidns/model/AddDomainRecordResult.h
+	include/alibabacloud/alidns/model/DescribeGtmMonitorAvailableConfigRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmMonitorAvailableConfigResult.h
+	include/alibabacloud/alidns/model/DeleteGtmAddressPoolRequest.h
+	include/alibabacloud/alidns/model/DeleteGtmAddressPoolResult.h
+	include/alibabacloud/alidns/model/QueryCreateInstancePriceRequest.h
+	include/alibabacloud/alidns/model/QueryCreateInstancePriceResult.h
+	include/alibabacloud/alidns/model/GetMainDomainNameRequest.h
+	include/alibabacloud/alidns/model/GetMainDomainNameResult.h
+	include/alibabacloud/alidns/model/AddGtmAccessStrategyRequest.h
+	include/alibabacloud/alidns/model/AddGtmAccessStrategyResult.h
+	include/alibabacloud/alidns/model/ChangeDomainGroupRequest.h
+	include/alibabacloud/alidns/model/ChangeDomainGroupResult.h
+	include/alibabacloud/alidns/model/DescribeGtmAccessStrategyRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmAccessStrategyResult.h
+	include/alibabacloud/alidns/model/AddDomainGroupRequest.h
+	include/alibabacloud/alidns/model/AddDomainGroupResult.h
+	include/alibabacloud/alidns/model/CheckDomainRecordRequest.h
+	include/alibabacloud/alidns/model/CheckDomainRecordResult.h
+	include/alibabacloud/alidns/model/ChangeDomainOfDnsProductRequest.h
+	include/alibabacloud/alidns/model/ChangeDomainOfDnsProductResult.h
+	include/alibabacloud/alidns/model/DeleteGtmAccessStrategyRequest.h
+	include/alibabacloud/alidns/model/DeleteGtmAccessStrategyResult.h
+	include/alibabacloud/alidns/model/DeleteDomainRequest.h
+	include/alibabacloud/alidns/model/DeleteDomainResult.h
+	include/alibabacloud/alidns/model/DescribeGtmAvailableAlertGroupRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmAvailableAlertGroupResult.h
+	include/alibabacloud/alidns/model/AddGtmAddressPoolRequest.h
+	include/alibabacloud/alidns/model/AddGtmAddressPoolResult.h
+	include/alibabacloud/alidns/model/DeleteSubDomainRecordsRequest.h
+	include/alibabacloud/alidns/model/DeleteSubDomainRecordsResult.h
+	include/alibabacloud/alidns/model/UpdateGtmMonitorRequest.h
+	include/alibabacloud/alidns/model/UpdateGtmMonitorResult.h
+	include/alibabacloud/alidns/model/DescribeDomainNsRequest.h
+	include/alibabacloud/alidns/model/DescribeDomainNsResult.h
+	include/alibabacloud/alidns/model/SetDNSSLBStatusRequest.h
+	include/alibabacloud/alidns/model/SetDNSSLBStatusResult.h
+	include/alibabacloud/alidns/model/DescribeGtmAccessStrategyAvailableConfigRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmAccessStrategyAvailableConfigResult.h
+	include/alibabacloud/alidns/model/DescribeGtmMonitorConfigRequest.h
+	include/alibabacloud/alidns/model/DescribeGtmMonitorConfigResult.h )
+
+set(alidns_src 
+	src/AlidnsClient.cc
+	src/model/DescribeDNSSLBSubDomainsRequest.cc
+	src/model/DescribeDNSSLBSubDomainsResult.cc
+	src/model/SetGtmAccessModeRequest.cc
+	src/model/SetGtmAccessModeResult.cc
+	src/model/ModifyHichinaDomainDNSRequest.cc
+	src/model/ModifyHichinaDomainDNSResult.cc
+	src/model/CreateInstanceRequest.cc
+	src/model/CreateInstanceResult.cc
+	src/model/DescribeSubDomainRecordsRequest.cc
+	src/model/DescribeSubDomainRecordsResult.cc
+	src/model/DescribeRecordLogsRequest.cc
+	src/model/DescribeRecordLogsResult.cc
+	src/model/DescribeBatchResultCountRequest.cc
+	src/model/DescribeBatchResultCountResult.cc
+	src/model/DescribeGtmInstancesRequest.cc
+	src/model/DescribeGtmInstancesResult.cc
+	src/model/UpdateGtmAddressPoolRequest.cc
+	src/model/UpdateGtmAddressPoolResult.cc
+	src/model/DescribeGtmAccessStrategiesRequest.cc
+	src/model/DescribeGtmAccessStrategiesResult.cc
+	src/model/UpdateGtmInstanceGlobalConfigRequest.cc
+	src/model/UpdateGtmInstanceGlobalConfigResult.cc
+	src/model/UpdateDomainRecordRequest.cc
+	src/model/UpdateDomainRecordResult.cc
+	src/model/DescribeDomainGroupsRequest.cc
+	src/model/DescribeDomainGroupsResult.cc
+	src/model/UpdateGtmAccessStrategyRequest.cc
+	src/model/UpdateGtmAccessStrategyResult.cc
+	src/model/DeleteDomainRecordRequest.cc
+	src/model/DeleteDomainRecordResult.cc
+	src/model/DescribeDomainRecordsRequest.cc
+	src/model/DescribeDomainRecordsResult.cc
+	src/model/DescribeDomainRecordInfoRequest.cc
+	src/model/DescribeDomainRecordInfoResult.cc
+	src/model/AddDomainRequest.cc
+	src/model/AddDomainResult.cc
+	src/model/DescribeGtmInstanceAddressPoolRequest.cc
+	src/model/DescribeGtmInstanceAddressPoolResult.cc
+	src/model/UpdateDNSSLBWeightRequest.cc
+	src/model/UpdateDNSSLBWeightResult.cc
+	src/model/DescribeBatchResultDetailRequest.cc
+	src/model/DescribeBatchResultDetailResult.cc
+	src/model/SetDomainRecordStatusRequest.cc
+	src/model/SetDomainRecordStatusResult.cc
+	src/model/UpdateDomainGroupRequest.cc
+	src/model/UpdateDomainGroupResult.cc
+	src/model/DescribeDnsProductInstancesRequest.cc
+	src/model/DescribeDnsProductInstancesResult.cc
+	src/model/SetGtmMonitorStatusRequest.cc
+	src/model/SetGtmMonitorStatusResult.cc
+	src/model/DescribeDnsProductInstanceRequest.cc
+	src/model/DescribeDnsProductInstanceResult.cc
+	src/model/DescribeGtmLogsRequest.cc
+	src/model/DescribeGtmLogsResult.cc
+	src/model/OperateBatchDomainRequest.cc
+	src/model/OperateBatchDomainResult.cc
+	src/model/DeleteDomainGroupRequest.cc
+	src/model/DeleteDomainGroupResult.cc
+	src/model/DescribeDomainLogsRequest.cc
+	src/model/DescribeDomainLogsResult.cc
+	src/model/AddGtmMonitorRequest.cc
+	src/model/AddGtmMonitorResult.cc
+	src/model/DescribeDomainsRequest.cc
+	src/model/DescribeDomainsResult.cc
+	src/model/DescribeGtmInstanceStatusRequest.cc
+	src/model/DescribeGtmInstanceStatusResult.cc
+	src/model/DescribeGtmInstanceRequest.cc
+	src/model/DescribeGtmInstanceResult.cc
+	src/model/DescribeDomainInfoRequest.cc
+	src/model/DescribeDomainInfoResult.cc
+	src/model/DescribeGtmInstanceAddressPoolsRequest.cc
+	src/model/DescribeGtmInstanceAddressPoolsResult.cc
+	src/model/DescribeSupportLinesRequest.cc
+	src/model/DescribeSupportLinesResult.cc
+	src/model/AddDomainRecordRequest.cc
+	src/model/AddDomainRecordResult.cc
+	src/model/DescribeGtmMonitorAvailableConfigRequest.cc
+	src/model/DescribeGtmMonitorAvailableConfigResult.cc
+	src/model/DeleteGtmAddressPoolRequest.cc
+	src/model/DeleteGtmAddressPoolResult.cc
+	src/model/QueryCreateInstancePriceRequest.cc
+	src/model/QueryCreateInstancePriceResult.cc
+	src/model/GetMainDomainNameRequest.cc
+	src/model/GetMainDomainNameResult.cc
+	src/model/AddGtmAccessStrategyRequest.cc
+	src/model/AddGtmAccessStrategyResult.cc
+	src/model/ChangeDomainGroupRequest.cc
+	src/model/ChangeDomainGroupResult.cc
+	src/model/DescribeGtmAccessStrategyRequest.cc
+	src/model/DescribeGtmAccessStrategyResult.cc
+	src/model/AddDomainGroupRequest.cc
+	src/model/AddDomainGroupResult.cc
+	src/model/CheckDomainRecordRequest.cc
+	src/model/CheckDomainRecordResult.cc
+	src/model/ChangeDomainOfDnsProductRequest.cc
+	src/model/ChangeDomainOfDnsProductResult.cc
+	src/model/DeleteGtmAccessStrategyRequest.cc
+	src/model/DeleteGtmAccessStrategyResult.cc
+	src/model/DeleteDomainRequest.cc
+	src/model/DeleteDomainResult.cc
+	src/model/DescribeGtmAvailableAlertGroupRequest.cc
+	src/model/DescribeGtmAvailableAlertGroupResult.cc
+	src/model/AddGtmAddressPoolRequest.cc
+	src/model/AddGtmAddressPoolResult.cc
+	src/model/DeleteSubDomainRecordsRequest.cc
+	src/model/DeleteSubDomainRecordsResult.cc
+	src/model/UpdateGtmMonitorRequest.cc
+	src/model/UpdateGtmMonitorResult.cc
+	src/model/DescribeDomainNsRequest.cc
+	src/model/DescribeDomainNsResult.cc
+	src/model/SetDNSSLBStatusRequest.cc
+	src/model/SetDNSSLBStatusResult.cc
+	src/model/DescribeGtmAccessStrategyAvailableConfigRequest.cc
+	src/model/DescribeGtmAccessStrategyAvailableConfigResult.cc
+	src/model/DescribeGtmMonitorConfigRequest.cc
+	src/model/DescribeGtmMonitorConfigResult.cc )
+
+add_library(alidns ${LIB_TYPE}
+	${alidns_public_header}
+	${alidns_public_header_model}
+	${alidns_src})
+
+set_target_properties(alidns
+	PROPERTIES
+	LINKER_LANGUAGE CXX
+	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}alidns
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(alidns
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_ALIDNS_LIBRARY)
+endif()
+
+target_include_directories(alidns
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(alidns
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(alidns
+		jsoncpp)
+	target_include_directories(alidns
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(alidns
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(alidns
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(alidns
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(alidns
+		jsoncpp)
+endif()
+
+install(FILES ${alidns_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/alidns)
+install(FILES ${alidns_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/alidns/model)
+install(TARGETS alidns
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

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

@@ -0,0 +1,510 @@
+/*
+ * 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_ALIDNSCLIENT_H_
+#define ALIBABACLOUD_ALIDNS_ALIDNSCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "AlidnsExport.h"
+#include "model/DescribeDNSSLBSubDomainsRequest.h"
+#include "model/DescribeDNSSLBSubDomainsResult.h"
+#include "model/SetGtmAccessModeRequest.h"
+#include "model/SetGtmAccessModeResult.h"
+#include "model/ModifyHichinaDomainDNSRequest.h"
+#include "model/ModifyHichinaDomainDNSResult.h"
+#include "model/CreateInstanceRequest.h"
+#include "model/CreateInstanceResult.h"
+#include "model/DescribeSubDomainRecordsRequest.h"
+#include "model/DescribeSubDomainRecordsResult.h"
+#include "model/DescribeRecordLogsRequest.h"
+#include "model/DescribeRecordLogsResult.h"
+#include "model/DescribeBatchResultCountRequest.h"
+#include "model/DescribeBatchResultCountResult.h"
+#include "model/DescribeGtmInstancesRequest.h"
+#include "model/DescribeGtmInstancesResult.h"
+#include "model/UpdateGtmAddressPoolRequest.h"
+#include "model/UpdateGtmAddressPoolResult.h"
+#include "model/DescribeGtmAccessStrategiesRequest.h"
+#include "model/DescribeGtmAccessStrategiesResult.h"
+#include "model/UpdateGtmInstanceGlobalConfigRequest.h"
+#include "model/UpdateGtmInstanceGlobalConfigResult.h"
+#include "model/UpdateDomainRecordRequest.h"
+#include "model/UpdateDomainRecordResult.h"
+#include "model/DescribeDomainGroupsRequest.h"
+#include "model/DescribeDomainGroupsResult.h"
+#include "model/UpdateGtmAccessStrategyRequest.h"
+#include "model/UpdateGtmAccessStrategyResult.h"
+#include "model/DeleteDomainRecordRequest.h"
+#include "model/DeleteDomainRecordResult.h"
+#include "model/DescribeDomainRecordsRequest.h"
+#include "model/DescribeDomainRecordsResult.h"
+#include "model/DescribeDomainRecordInfoRequest.h"
+#include "model/DescribeDomainRecordInfoResult.h"
+#include "model/AddDomainRequest.h"
+#include "model/AddDomainResult.h"
+#include "model/DescribeGtmInstanceAddressPoolRequest.h"
+#include "model/DescribeGtmInstanceAddressPoolResult.h"
+#include "model/UpdateDNSSLBWeightRequest.h"
+#include "model/UpdateDNSSLBWeightResult.h"
+#include "model/DescribeBatchResultDetailRequest.h"
+#include "model/DescribeBatchResultDetailResult.h"
+#include "model/SetDomainRecordStatusRequest.h"
+#include "model/SetDomainRecordStatusResult.h"
+#include "model/UpdateDomainGroupRequest.h"
+#include "model/UpdateDomainGroupResult.h"
+#include "model/DescribeDnsProductInstancesRequest.h"
+#include "model/DescribeDnsProductInstancesResult.h"
+#include "model/SetGtmMonitorStatusRequest.h"
+#include "model/SetGtmMonitorStatusResult.h"
+#include "model/DescribeDnsProductInstanceRequest.h"
+#include "model/DescribeDnsProductInstanceResult.h"
+#include "model/DescribeGtmLogsRequest.h"
+#include "model/DescribeGtmLogsResult.h"
+#include "model/OperateBatchDomainRequest.h"
+#include "model/OperateBatchDomainResult.h"
+#include "model/DeleteDomainGroupRequest.h"
+#include "model/DeleteDomainGroupResult.h"
+#include "model/DescribeDomainLogsRequest.h"
+#include "model/DescribeDomainLogsResult.h"
+#include "model/AddGtmMonitorRequest.h"
+#include "model/AddGtmMonitorResult.h"
+#include "model/DescribeDomainsRequest.h"
+#include "model/DescribeDomainsResult.h"
+#include "model/DescribeGtmInstanceStatusRequest.h"
+#include "model/DescribeGtmInstanceStatusResult.h"
+#include "model/DescribeGtmInstanceRequest.h"
+#include "model/DescribeGtmInstanceResult.h"
+#include "model/DescribeDomainInfoRequest.h"
+#include "model/DescribeDomainInfoResult.h"
+#include "model/DescribeGtmInstanceAddressPoolsRequest.h"
+#include "model/DescribeGtmInstanceAddressPoolsResult.h"
+#include "model/DescribeSupportLinesRequest.h"
+#include "model/DescribeSupportLinesResult.h"
+#include "model/AddDomainRecordRequest.h"
+#include "model/AddDomainRecordResult.h"
+#include "model/DescribeGtmMonitorAvailableConfigRequest.h"
+#include "model/DescribeGtmMonitorAvailableConfigResult.h"
+#include "model/DeleteGtmAddressPoolRequest.h"
+#include "model/DeleteGtmAddressPoolResult.h"
+#include "model/QueryCreateInstancePriceRequest.h"
+#include "model/QueryCreateInstancePriceResult.h"
+#include "model/GetMainDomainNameRequest.h"
+#include "model/GetMainDomainNameResult.h"
+#include "model/AddGtmAccessStrategyRequest.h"
+#include "model/AddGtmAccessStrategyResult.h"
+#include "model/ChangeDomainGroupRequest.h"
+#include "model/ChangeDomainGroupResult.h"
+#include "model/DescribeGtmAccessStrategyRequest.h"
+#include "model/DescribeGtmAccessStrategyResult.h"
+#include "model/AddDomainGroupRequest.h"
+#include "model/AddDomainGroupResult.h"
+#include "model/CheckDomainRecordRequest.h"
+#include "model/CheckDomainRecordResult.h"
+#include "model/ChangeDomainOfDnsProductRequest.h"
+#include "model/ChangeDomainOfDnsProductResult.h"
+#include "model/DeleteGtmAccessStrategyRequest.h"
+#include "model/DeleteGtmAccessStrategyResult.h"
+#include "model/DeleteDomainRequest.h"
+#include "model/DeleteDomainResult.h"
+#include "model/DescribeGtmAvailableAlertGroupRequest.h"
+#include "model/DescribeGtmAvailableAlertGroupResult.h"
+#include "model/AddGtmAddressPoolRequest.h"
+#include "model/AddGtmAddressPoolResult.h"
+#include "model/DeleteSubDomainRecordsRequest.h"
+#include "model/DeleteSubDomainRecordsResult.h"
+#include "model/UpdateGtmMonitorRequest.h"
+#include "model/UpdateGtmMonitorResult.h"
+#include "model/DescribeDomainNsRequest.h"
+#include "model/DescribeDomainNsResult.h"
+#include "model/SetDNSSLBStatusRequest.h"
+#include "model/SetDNSSLBStatusResult.h"
+#include "model/DescribeGtmAccessStrategyAvailableConfigRequest.h"
+#include "model/DescribeGtmAccessStrategyAvailableConfigResult.h"
+#include "model/DescribeGtmMonitorConfigRequest.h"
+#include "model/DescribeGtmMonitorConfigResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		class ALIBABACLOUD_ALIDNS_EXPORT AlidnsClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::DescribeDNSSLBSubDomainsResult> DescribeDNSSLBSubDomainsOutcome;
+			typedef std::future<DescribeDNSSLBSubDomainsOutcome> DescribeDNSSLBSubDomainsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDNSSLBSubDomainsRequest&, const DescribeDNSSLBSubDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDNSSLBSubDomainsAsyncHandler;
+			typedef Outcome<Error, Model::SetGtmAccessModeResult> SetGtmAccessModeOutcome;
+			typedef std::future<SetGtmAccessModeOutcome> SetGtmAccessModeOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::SetGtmAccessModeRequest&, const SetGtmAccessModeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetGtmAccessModeAsyncHandler;
+			typedef Outcome<Error, Model::ModifyHichinaDomainDNSResult> ModifyHichinaDomainDNSOutcome;
+			typedef std::future<ModifyHichinaDomainDNSOutcome> ModifyHichinaDomainDNSOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ModifyHichinaDomainDNSRequest&, const ModifyHichinaDomainDNSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyHichinaDomainDNSAsyncHandler;
+			typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;
+			typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSubDomainRecordsResult> DescribeSubDomainRecordsOutcome;
+			typedef std::future<DescribeSubDomainRecordsOutcome> DescribeSubDomainRecordsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeSubDomainRecordsRequest&, const DescribeSubDomainRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSubDomainRecordsAsyncHandler;
+			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;
+			typedef Outcome<Error, Model::DescribeBatchResultCountResult> DescribeBatchResultCountOutcome;
+			typedef std::future<DescribeBatchResultCountOutcome> DescribeBatchResultCountOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeBatchResultCountRequest&, const DescribeBatchResultCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBatchResultCountAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmInstancesResult> DescribeGtmInstancesOutcome;
+			typedef std::future<DescribeGtmInstancesOutcome> DescribeGtmInstancesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmInstancesRequest&, const DescribeGtmInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmInstancesAsyncHandler;
+			typedef Outcome<Error, Model::UpdateGtmAddressPoolResult> UpdateGtmAddressPoolOutcome;
+			typedef std::future<UpdateGtmAddressPoolOutcome> UpdateGtmAddressPoolOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateGtmAddressPoolRequest&, const UpdateGtmAddressPoolOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGtmAddressPoolAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmAccessStrategiesResult> DescribeGtmAccessStrategiesOutcome;
+			typedef std::future<DescribeGtmAccessStrategiesOutcome> DescribeGtmAccessStrategiesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmAccessStrategiesRequest&, const DescribeGtmAccessStrategiesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmAccessStrategiesAsyncHandler;
+			typedef Outcome<Error, Model::UpdateGtmInstanceGlobalConfigResult> UpdateGtmInstanceGlobalConfigOutcome;
+			typedef std::future<UpdateGtmInstanceGlobalConfigOutcome> UpdateGtmInstanceGlobalConfigOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateGtmInstanceGlobalConfigRequest&, const UpdateGtmInstanceGlobalConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGtmInstanceGlobalConfigAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDomainRecordResult> UpdateDomainRecordOutcome;
+			typedef std::future<UpdateDomainRecordOutcome> UpdateDomainRecordOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateDomainRecordRequest&, const UpdateDomainRecordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDomainRecordAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainGroupsResult> DescribeDomainGroupsOutcome;
+			typedef std::future<DescribeDomainGroupsOutcome> DescribeDomainGroupsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainGroupsRequest&, const DescribeDomainGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainGroupsAsyncHandler;
+			typedef Outcome<Error, Model::UpdateGtmAccessStrategyResult> UpdateGtmAccessStrategyOutcome;
+			typedef std::future<UpdateGtmAccessStrategyOutcome> UpdateGtmAccessStrategyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateGtmAccessStrategyRequest&, const UpdateGtmAccessStrategyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGtmAccessStrategyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDomainRecordResult> DeleteDomainRecordOutcome;
+			typedef std::future<DeleteDomainRecordOutcome> DeleteDomainRecordOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DeleteDomainRecordRequest&, const DeleteDomainRecordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainRecordAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainRecordsResult> DescribeDomainRecordsOutcome;
+			typedef std::future<DescribeDomainRecordsOutcome> DescribeDomainRecordsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainRecordsRequest&, const DescribeDomainRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainRecordsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainRecordInfoResult> DescribeDomainRecordInfoOutcome;
+			typedef std::future<DescribeDomainRecordInfoOutcome> DescribeDomainRecordInfoOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainRecordInfoRequest&, const DescribeDomainRecordInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainRecordInfoAsyncHandler;
+			typedef Outcome<Error, Model::AddDomainResult> AddDomainOutcome;
+			typedef std::future<AddDomainOutcome> AddDomainOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::AddDomainRequest&, const AddDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddDomainAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmInstanceAddressPoolResult> DescribeGtmInstanceAddressPoolOutcome;
+			typedef std::future<DescribeGtmInstanceAddressPoolOutcome> DescribeGtmInstanceAddressPoolOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmInstanceAddressPoolRequest&, const DescribeGtmInstanceAddressPoolOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmInstanceAddressPoolAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDNSSLBWeightResult> UpdateDNSSLBWeightOutcome;
+			typedef std::future<UpdateDNSSLBWeightOutcome> UpdateDNSSLBWeightOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateDNSSLBWeightRequest&, const UpdateDNSSLBWeightOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDNSSLBWeightAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBatchResultDetailResult> DescribeBatchResultDetailOutcome;
+			typedef std::future<DescribeBatchResultDetailOutcome> DescribeBatchResultDetailOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeBatchResultDetailRequest&, const DescribeBatchResultDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBatchResultDetailAsyncHandler;
+			typedef Outcome<Error, Model::SetDomainRecordStatusResult> SetDomainRecordStatusOutcome;
+			typedef std::future<SetDomainRecordStatusOutcome> SetDomainRecordStatusOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::SetDomainRecordStatusRequest&, const SetDomainRecordStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDomainRecordStatusAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDomainGroupResult> UpdateDomainGroupOutcome;
+			typedef std::future<UpdateDomainGroupOutcome> UpdateDomainGroupOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateDomainGroupRequest&, const UpdateDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDomainGroupAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDnsProductInstancesResult> DescribeDnsProductInstancesOutcome;
+			typedef std::future<DescribeDnsProductInstancesOutcome> DescribeDnsProductInstancesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDnsProductInstancesRequest&, const DescribeDnsProductInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDnsProductInstancesAsyncHandler;
+			typedef Outcome<Error, Model::SetGtmMonitorStatusResult> SetGtmMonitorStatusOutcome;
+			typedef std::future<SetGtmMonitorStatusOutcome> SetGtmMonitorStatusOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::SetGtmMonitorStatusRequest&, const SetGtmMonitorStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetGtmMonitorStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDnsProductInstanceResult> DescribeDnsProductInstanceOutcome;
+			typedef std::future<DescribeDnsProductInstanceOutcome> DescribeDnsProductInstanceOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDnsProductInstanceRequest&, const DescribeDnsProductInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDnsProductInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmLogsResult> DescribeGtmLogsOutcome;
+			typedef std::future<DescribeGtmLogsOutcome> DescribeGtmLogsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmLogsRequest&, const DescribeGtmLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmLogsAsyncHandler;
+			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::DeleteDomainGroupResult> DeleteDomainGroupOutcome;
+			typedef std::future<DeleteDomainGroupOutcome> DeleteDomainGroupOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DeleteDomainGroupRequest&, const DeleteDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainGroupAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainLogsResult> DescribeDomainLogsOutcome;
+			typedef std::future<DescribeDomainLogsOutcome> DescribeDomainLogsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainLogsRequest&, const DescribeDomainLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainLogsAsyncHandler;
+			typedef Outcome<Error, Model::AddGtmMonitorResult> AddGtmMonitorOutcome;
+			typedef std::future<AddGtmMonitorOutcome> AddGtmMonitorOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::AddGtmMonitorRequest&, const AddGtmMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddGtmMonitorAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainsResult> DescribeDomainsOutcome;
+			typedef std::future<DescribeDomainsOutcome> DescribeDomainsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainsRequest&, const DescribeDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmInstanceStatusResult> DescribeGtmInstanceStatusOutcome;
+			typedef std::future<DescribeGtmInstanceStatusOutcome> DescribeGtmInstanceStatusOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmInstanceStatusRequest&, const DescribeGtmInstanceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmInstanceStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmInstanceResult> DescribeGtmInstanceOutcome;
+			typedef std::future<DescribeGtmInstanceOutcome> DescribeGtmInstanceOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmInstanceRequest&, const DescribeGtmInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainInfoResult> DescribeDomainInfoOutcome;
+			typedef std::future<DescribeDomainInfoOutcome> DescribeDomainInfoOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainInfoRequest&, const DescribeDomainInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainInfoAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmInstanceAddressPoolsResult> DescribeGtmInstanceAddressPoolsOutcome;
+			typedef std::future<DescribeGtmInstanceAddressPoolsOutcome> DescribeGtmInstanceAddressPoolsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmInstanceAddressPoolsRequest&, const DescribeGtmInstanceAddressPoolsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmInstanceAddressPoolsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSupportLinesResult> DescribeSupportLinesOutcome;
+			typedef std::future<DescribeSupportLinesOutcome> DescribeSupportLinesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeSupportLinesRequest&, const DescribeSupportLinesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSupportLinesAsyncHandler;
+			typedef Outcome<Error, Model::AddDomainRecordResult> AddDomainRecordOutcome;
+			typedef std::future<AddDomainRecordOutcome> AddDomainRecordOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::AddDomainRecordRequest&, const AddDomainRecordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddDomainRecordAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmMonitorAvailableConfigResult> DescribeGtmMonitorAvailableConfigOutcome;
+			typedef std::future<DescribeGtmMonitorAvailableConfigOutcome> DescribeGtmMonitorAvailableConfigOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmMonitorAvailableConfigRequest&, const DescribeGtmMonitorAvailableConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmMonitorAvailableConfigAsyncHandler;
+			typedef Outcome<Error, Model::DeleteGtmAddressPoolResult> DeleteGtmAddressPoolOutcome;
+			typedef std::future<DeleteGtmAddressPoolOutcome> DeleteGtmAddressPoolOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DeleteGtmAddressPoolRequest&, const DeleteGtmAddressPoolOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGtmAddressPoolAsyncHandler;
+			typedef Outcome<Error, Model::QueryCreateInstancePriceResult> QueryCreateInstancePriceOutcome;
+			typedef std::future<QueryCreateInstancePriceOutcome> QueryCreateInstancePriceOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::QueryCreateInstancePriceRequest&, const QueryCreateInstancePriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCreateInstancePriceAsyncHandler;
+			typedef Outcome<Error, Model::GetMainDomainNameResult> GetMainDomainNameOutcome;
+			typedef std::future<GetMainDomainNameOutcome> GetMainDomainNameOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::GetMainDomainNameRequest&, const GetMainDomainNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMainDomainNameAsyncHandler;
+			typedef Outcome<Error, Model::AddGtmAccessStrategyResult> AddGtmAccessStrategyOutcome;
+			typedef std::future<AddGtmAccessStrategyOutcome> AddGtmAccessStrategyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::AddGtmAccessStrategyRequest&, const AddGtmAccessStrategyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddGtmAccessStrategyAsyncHandler;
+			typedef Outcome<Error, Model::ChangeDomainGroupResult> ChangeDomainGroupOutcome;
+			typedef std::future<ChangeDomainGroupOutcome> ChangeDomainGroupOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ChangeDomainGroupRequest&, const ChangeDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ChangeDomainGroupAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmAccessStrategyResult> DescribeGtmAccessStrategyOutcome;
+			typedef std::future<DescribeGtmAccessStrategyOutcome> DescribeGtmAccessStrategyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmAccessStrategyRequest&, const DescribeGtmAccessStrategyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmAccessStrategyAsyncHandler;
+			typedef Outcome<Error, Model::AddDomainGroupResult> AddDomainGroupOutcome;
+			typedef std::future<AddDomainGroupOutcome> AddDomainGroupOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::AddDomainGroupRequest&, const AddDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddDomainGroupAsyncHandler;
+			typedef Outcome<Error, Model::CheckDomainRecordResult> CheckDomainRecordOutcome;
+			typedef std::future<CheckDomainRecordOutcome> CheckDomainRecordOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::CheckDomainRecordRequest&, const CheckDomainRecordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckDomainRecordAsyncHandler;
+			typedef Outcome<Error, Model::ChangeDomainOfDnsProductResult> ChangeDomainOfDnsProductOutcome;
+			typedef std::future<ChangeDomainOfDnsProductOutcome> ChangeDomainOfDnsProductOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ChangeDomainOfDnsProductRequest&, const ChangeDomainOfDnsProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ChangeDomainOfDnsProductAsyncHandler;
+			typedef Outcome<Error, Model::DeleteGtmAccessStrategyResult> DeleteGtmAccessStrategyOutcome;
+			typedef std::future<DeleteGtmAccessStrategyOutcome> DeleteGtmAccessStrategyOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DeleteGtmAccessStrategyRequest&, const DeleteGtmAccessStrategyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGtmAccessStrategyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDomainResult> DeleteDomainOutcome;
+			typedef std::future<DeleteDomainOutcome> DeleteDomainOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DeleteDomainRequest&, const DeleteDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmAvailableAlertGroupResult> DescribeGtmAvailableAlertGroupOutcome;
+			typedef std::future<DescribeGtmAvailableAlertGroupOutcome> DescribeGtmAvailableAlertGroupOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmAvailableAlertGroupRequest&, const DescribeGtmAvailableAlertGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmAvailableAlertGroupAsyncHandler;
+			typedef Outcome<Error, Model::AddGtmAddressPoolResult> AddGtmAddressPoolOutcome;
+			typedef std::future<AddGtmAddressPoolOutcome> AddGtmAddressPoolOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::AddGtmAddressPoolRequest&, const AddGtmAddressPoolOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddGtmAddressPoolAsyncHandler;
+			typedef Outcome<Error, Model::DeleteSubDomainRecordsResult> DeleteSubDomainRecordsOutcome;
+			typedef std::future<DeleteSubDomainRecordsOutcome> DeleteSubDomainRecordsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DeleteSubDomainRecordsRequest&, const DeleteSubDomainRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSubDomainRecordsAsyncHandler;
+			typedef Outcome<Error, Model::UpdateGtmMonitorResult> UpdateGtmMonitorOutcome;
+			typedef std::future<UpdateGtmMonitorOutcome> UpdateGtmMonitorOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UpdateGtmMonitorRequest&, const UpdateGtmMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGtmMonitorAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainNsResult> DescribeDomainNsOutcome;
+			typedef std::future<DescribeDomainNsOutcome> DescribeDomainNsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeDomainNsRequest&, const DescribeDomainNsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainNsAsyncHandler;
+			typedef Outcome<Error, Model::SetDNSSLBStatusResult> SetDNSSLBStatusOutcome;
+			typedef std::future<SetDNSSLBStatusOutcome> SetDNSSLBStatusOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::SetDNSSLBStatusRequest&, const SetDNSSLBStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDNSSLBStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmAccessStrategyAvailableConfigResult> DescribeGtmAccessStrategyAvailableConfigOutcome;
+			typedef std::future<DescribeGtmAccessStrategyAvailableConfigOutcome> DescribeGtmAccessStrategyAvailableConfigOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmAccessStrategyAvailableConfigRequest&, const DescribeGtmAccessStrategyAvailableConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmAccessStrategyAvailableConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGtmMonitorConfigResult> DescribeGtmMonitorConfigOutcome;
+			typedef std::future<DescribeGtmMonitorConfigOutcome> DescribeGtmMonitorConfigOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeGtmMonitorConfigRequest&, const DescribeGtmMonitorConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGtmMonitorConfigAsyncHandler;
+
+			AlidnsClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			AlidnsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			AlidnsClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~AlidnsClient();
+			DescribeDNSSLBSubDomainsOutcome describeDNSSLBSubDomains(const Model::DescribeDNSSLBSubDomainsRequest &request)const;
+			void describeDNSSLBSubDomainsAsync(const Model::DescribeDNSSLBSubDomainsRequest& request, const DescribeDNSSLBSubDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDNSSLBSubDomainsOutcomeCallable describeDNSSLBSubDomainsCallable(const Model::DescribeDNSSLBSubDomainsRequest& request) const;
+			SetGtmAccessModeOutcome setGtmAccessMode(const Model::SetGtmAccessModeRequest &request)const;
+			void setGtmAccessModeAsync(const Model::SetGtmAccessModeRequest& request, const SetGtmAccessModeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetGtmAccessModeOutcomeCallable setGtmAccessModeCallable(const Model::SetGtmAccessModeRequest& request) const;
+			ModifyHichinaDomainDNSOutcome modifyHichinaDomainDNS(const Model::ModifyHichinaDomainDNSRequest &request)const;
+			void modifyHichinaDomainDNSAsync(const Model::ModifyHichinaDomainDNSRequest& request, const ModifyHichinaDomainDNSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyHichinaDomainDNSOutcomeCallable modifyHichinaDomainDNSCallable(const Model::ModifyHichinaDomainDNSRequest& request) const;
+			CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
+			void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
+			DescribeSubDomainRecordsOutcome describeSubDomainRecords(const Model::DescribeSubDomainRecordsRequest &request)const;
+			void describeSubDomainRecordsAsync(const Model::DescribeSubDomainRecordsRequest& request, const DescribeSubDomainRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSubDomainRecordsOutcomeCallable describeSubDomainRecordsCallable(const Model::DescribeSubDomainRecordsRequest& 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;
+			DescribeBatchResultCountOutcome describeBatchResultCount(const Model::DescribeBatchResultCountRequest &request)const;
+			void describeBatchResultCountAsync(const Model::DescribeBatchResultCountRequest& request, const DescribeBatchResultCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBatchResultCountOutcomeCallable describeBatchResultCountCallable(const Model::DescribeBatchResultCountRequest& request) const;
+			DescribeGtmInstancesOutcome describeGtmInstances(const Model::DescribeGtmInstancesRequest &request)const;
+			void describeGtmInstancesAsync(const Model::DescribeGtmInstancesRequest& request, const DescribeGtmInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmInstancesOutcomeCallable describeGtmInstancesCallable(const Model::DescribeGtmInstancesRequest& request) const;
+			UpdateGtmAddressPoolOutcome updateGtmAddressPool(const Model::UpdateGtmAddressPoolRequest &request)const;
+			void updateGtmAddressPoolAsync(const Model::UpdateGtmAddressPoolRequest& request, const UpdateGtmAddressPoolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateGtmAddressPoolOutcomeCallable updateGtmAddressPoolCallable(const Model::UpdateGtmAddressPoolRequest& request) const;
+			DescribeGtmAccessStrategiesOutcome describeGtmAccessStrategies(const Model::DescribeGtmAccessStrategiesRequest &request)const;
+			void describeGtmAccessStrategiesAsync(const Model::DescribeGtmAccessStrategiesRequest& request, const DescribeGtmAccessStrategiesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmAccessStrategiesOutcomeCallable describeGtmAccessStrategiesCallable(const Model::DescribeGtmAccessStrategiesRequest& request) const;
+			UpdateGtmInstanceGlobalConfigOutcome updateGtmInstanceGlobalConfig(const Model::UpdateGtmInstanceGlobalConfigRequest &request)const;
+			void updateGtmInstanceGlobalConfigAsync(const Model::UpdateGtmInstanceGlobalConfigRequest& request, const UpdateGtmInstanceGlobalConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateGtmInstanceGlobalConfigOutcomeCallable updateGtmInstanceGlobalConfigCallable(const Model::UpdateGtmInstanceGlobalConfigRequest& request) const;
+			UpdateDomainRecordOutcome updateDomainRecord(const Model::UpdateDomainRecordRequest &request)const;
+			void updateDomainRecordAsync(const Model::UpdateDomainRecordRequest& request, const UpdateDomainRecordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDomainRecordOutcomeCallable updateDomainRecordCallable(const Model::UpdateDomainRecordRequest& request) const;
+			DescribeDomainGroupsOutcome describeDomainGroups(const Model::DescribeDomainGroupsRequest &request)const;
+			void describeDomainGroupsAsync(const Model::DescribeDomainGroupsRequest& request, const DescribeDomainGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainGroupsOutcomeCallable describeDomainGroupsCallable(const Model::DescribeDomainGroupsRequest& request) const;
+			UpdateGtmAccessStrategyOutcome updateGtmAccessStrategy(const Model::UpdateGtmAccessStrategyRequest &request)const;
+			void updateGtmAccessStrategyAsync(const Model::UpdateGtmAccessStrategyRequest& request, const UpdateGtmAccessStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateGtmAccessStrategyOutcomeCallable updateGtmAccessStrategyCallable(const Model::UpdateGtmAccessStrategyRequest& request) const;
+			DeleteDomainRecordOutcome deleteDomainRecord(const Model::DeleteDomainRecordRequest &request)const;
+			void deleteDomainRecordAsync(const Model::DeleteDomainRecordRequest& request, const DeleteDomainRecordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDomainRecordOutcomeCallable deleteDomainRecordCallable(const Model::DeleteDomainRecordRequest& request) const;
+			DescribeDomainRecordsOutcome describeDomainRecords(const Model::DescribeDomainRecordsRequest &request)const;
+			void describeDomainRecordsAsync(const Model::DescribeDomainRecordsRequest& request, const DescribeDomainRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainRecordsOutcomeCallable describeDomainRecordsCallable(const Model::DescribeDomainRecordsRequest& request) const;
+			DescribeDomainRecordInfoOutcome describeDomainRecordInfo(const Model::DescribeDomainRecordInfoRequest &request)const;
+			void describeDomainRecordInfoAsync(const Model::DescribeDomainRecordInfoRequest& request, const DescribeDomainRecordInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainRecordInfoOutcomeCallable describeDomainRecordInfoCallable(const Model::DescribeDomainRecordInfoRequest& request) const;
+			AddDomainOutcome addDomain(const Model::AddDomainRequest &request)const;
+			void addDomainAsync(const Model::AddDomainRequest& request, const AddDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddDomainOutcomeCallable addDomainCallable(const Model::AddDomainRequest& request) const;
+			DescribeGtmInstanceAddressPoolOutcome describeGtmInstanceAddressPool(const Model::DescribeGtmInstanceAddressPoolRequest &request)const;
+			void describeGtmInstanceAddressPoolAsync(const Model::DescribeGtmInstanceAddressPoolRequest& request, const DescribeGtmInstanceAddressPoolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmInstanceAddressPoolOutcomeCallable describeGtmInstanceAddressPoolCallable(const Model::DescribeGtmInstanceAddressPoolRequest& request) const;
+			UpdateDNSSLBWeightOutcome updateDNSSLBWeight(const Model::UpdateDNSSLBWeightRequest &request)const;
+			void updateDNSSLBWeightAsync(const Model::UpdateDNSSLBWeightRequest& request, const UpdateDNSSLBWeightAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDNSSLBWeightOutcomeCallable updateDNSSLBWeightCallable(const Model::UpdateDNSSLBWeightRequest& request) const;
+			DescribeBatchResultDetailOutcome describeBatchResultDetail(const Model::DescribeBatchResultDetailRequest &request)const;
+			void describeBatchResultDetailAsync(const Model::DescribeBatchResultDetailRequest& request, const DescribeBatchResultDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBatchResultDetailOutcomeCallable describeBatchResultDetailCallable(const Model::DescribeBatchResultDetailRequest& request) const;
+			SetDomainRecordStatusOutcome setDomainRecordStatus(const Model::SetDomainRecordStatusRequest &request)const;
+			void setDomainRecordStatusAsync(const Model::SetDomainRecordStatusRequest& request, const SetDomainRecordStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetDomainRecordStatusOutcomeCallable setDomainRecordStatusCallable(const Model::SetDomainRecordStatusRequest& request) const;
+			UpdateDomainGroupOutcome updateDomainGroup(const Model::UpdateDomainGroupRequest &request)const;
+			void updateDomainGroupAsync(const Model::UpdateDomainGroupRequest& request, const UpdateDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDomainGroupOutcomeCallable updateDomainGroupCallable(const Model::UpdateDomainGroupRequest& request) const;
+			DescribeDnsProductInstancesOutcome describeDnsProductInstances(const Model::DescribeDnsProductInstancesRequest &request)const;
+			void describeDnsProductInstancesAsync(const Model::DescribeDnsProductInstancesRequest& request, const DescribeDnsProductInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDnsProductInstancesOutcomeCallable describeDnsProductInstancesCallable(const Model::DescribeDnsProductInstancesRequest& request) const;
+			SetGtmMonitorStatusOutcome setGtmMonitorStatus(const Model::SetGtmMonitorStatusRequest &request)const;
+			void setGtmMonitorStatusAsync(const Model::SetGtmMonitorStatusRequest& request, const SetGtmMonitorStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetGtmMonitorStatusOutcomeCallable setGtmMonitorStatusCallable(const Model::SetGtmMonitorStatusRequest& request) const;
+			DescribeDnsProductInstanceOutcome describeDnsProductInstance(const Model::DescribeDnsProductInstanceRequest &request)const;
+			void describeDnsProductInstanceAsync(const Model::DescribeDnsProductInstanceRequest& request, const DescribeDnsProductInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDnsProductInstanceOutcomeCallable describeDnsProductInstanceCallable(const Model::DescribeDnsProductInstanceRequest& request) const;
+			DescribeGtmLogsOutcome describeGtmLogs(const Model::DescribeGtmLogsRequest &request)const;
+			void describeGtmLogsAsync(const Model::DescribeGtmLogsRequest& request, const DescribeGtmLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmLogsOutcomeCallable describeGtmLogsCallable(const Model::DescribeGtmLogsRequest& request) const;
+			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;
+			DeleteDomainGroupOutcome deleteDomainGroup(const Model::DeleteDomainGroupRequest &request)const;
+			void deleteDomainGroupAsync(const Model::DeleteDomainGroupRequest& request, const DeleteDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDomainGroupOutcomeCallable deleteDomainGroupCallable(const Model::DeleteDomainGroupRequest& request) const;
+			DescribeDomainLogsOutcome describeDomainLogs(const Model::DescribeDomainLogsRequest &request)const;
+			void describeDomainLogsAsync(const Model::DescribeDomainLogsRequest& request, const DescribeDomainLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainLogsOutcomeCallable describeDomainLogsCallable(const Model::DescribeDomainLogsRequest& request) const;
+			AddGtmMonitorOutcome addGtmMonitor(const Model::AddGtmMonitorRequest &request)const;
+			void addGtmMonitorAsync(const Model::AddGtmMonitorRequest& request, const AddGtmMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddGtmMonitorOutcomeCallable addGtmMonitorCallable(const Model::AddGtmMonitorRequest& request) const;
+			DescribeDomainsOutcome describeDomains(const Model::DescribeDomainsRequest &request)const;
+			void describeDomainsAsync(const Model::DescribeDomainsRequest& request, const DescribeDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainsOutcomeCallable describeDomainsCallable(const Model::DescribeDomainsRequest& request) const;
+			DescribeGtmInstanceStatusOutcome describeGtmInstanceStatus(const Model::DescribeGtmInstanceStatusRequest &request)const;
+			void describeGtmInstanceStatusAsync(const Model::DescribeGtmInstanceStatusRequest& request, const DescribeGtmInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmInstanceStatusOutcomeCallable describeGtmInstanceStatusCallable(const Model::DescribeGtmInstanceStatusRequest& request) const;
+			DescribeGtmInstanceOutcome describeGtmInstance(const Model::DescribeGtmInstanceRequest &request)const;
+			void describeGtmInstanceAsync(const Model::DescribeGtmInstanceRequest& request, const DescribeGtmInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmInstanceOutcomeCallable describeGtmInstanceCallable(const Model::DescribeGtmInstanceRequest& request) const;
+			DescribeDomainInfoOutcome describeDomainInfo(const Model::DescribeDomainInfoRequest &request)const;
+			void describeDomainInfoAsync(const Model::DescribeDomainInfoRequest& request, const DescribeDomainInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainInfoOutcomeCallable describeDomainInfoCallable(const Model::DescribeDomainInfoRequest& request) const;
+			DescribeGtmInstanceAddressPoolsOutcome describeGtmInstanceAddressPools(const Model::DescribeGtmInstanceAddressPoolsRequest &request)const;
+			void describeGtmInstanceAddressPoolsAsync(const Model::DescribeGtmInstanceAddressPoolsRequest& request, const DescribeGtmInstanceAddressPoolsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmInstanceAddressPoolsOutcomeCallable describeGtmInstanceAddressPoolsCallable(const Model::DescribeGtmInstanceAddressPoolsRequest& request) const;
+			DescribeSupportLinesOutcome describeSupportLines(const Model::DescribeSupportLinesRequest &request)const;
+			void describeSupportLinesAsync(const Model::DescribeSupportLinesRequest& request, const DescribeSupportLinesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSupportLinesOutcomeCallable describeSupportLinesCallable(const Model::DescribeSupportLinesRequest& request) const;
+			AddDomainRecordOutcome addDomainRecord(const Model::AddDomainRecordRequest &request)const;
+			void addDomainRecordAsync(const Model::AddDomainRecordRequest& request, const AddDomainRecordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddDomainRecordOutcomeCallable addDomainRecordCallable(const Model::AddDomainRecordRequest& request) const;
+			DescribeGtmMonitorAvailableConfigOutcome describeGtmMonitorAvailableConfig(const Model::DescribeGtmMonitorAvailableConfigRequest &request)const;
+			void describeGtmMonitorAvailableConfigAsync(const Model::DescribeGtmMonitorAvailableConfigRequest& request, const DescribeGtmMonitorAvailableConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmMonitorAvailableConfigOutcomeCallable describeGtmMonitorAvailableConfigCallable(const Model::DescribeGtmMonitorAvailableConfigRequest& request) const;
+			DeleteGtmAddressPoolOutcome deleteGtmAddressPool(const Model::DeleteGtmAddressPoolRequest &request)const;
+			void deleteGtmAddressPoolAsync(const Model::DeleteGtmAddressPoolRequest& request, const DeleteGtmAddressPoolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteGtmAddressPoolOutcomeCallable deleteGtmAddressPoolCallable(const Model::DeleteGtmAddressPoolRequest& request) const;
+			QueryCreateInstancePriceOutcome queryCreateInstancePrice(const Model::QueryCreateInstancePriceRequest &request)const;
+			void queryCreateInstancePriceAsync(const Model::QueryCreateInstancePriceRequest& request, const QueryCreateInstancePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryCreateInstancePriceOutcomeCallable queryCreateInstancePriceCallable(const Model::QueryCreateInstancePriceRequest& request) const;
+			GetMainDomainNameOutcome getMainDomainName(const Model::GetMainDomainNameRequest &request)const;
+			void getMainDomainNameAsync(const Model::GetMainDomainNameRequest& request, const GetMainDomainNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetMainDomainNameOutcomeCallable getMainDomainNameCallable(const Model::GetMainDomainNameRequest& request) const;
+			AddGtmAccessStrategyOutcome addGtmAccessStrategy(const Model::AddGtmAccessStrategyRequest &request)const;
+			void addGtmAccessStrategyAsync(const Model::AddGtmAccessStrategyRequest& request, const AddGtmAccessStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddGtmAccessStrategyOutcomeCallable addGtmAccessStrategyCallable(const Model::AddGtmAccessStrategyRequest& request) const;
+			ChangeDomainGroupOutcome changeDomainGroup(const Model::ChangeDomainGroupRequest &request)const;
+			void changeDomainGroupAsync(const Model::ChangeDomainGroupRequest& request, const ChangeDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ChangeDomainGroupOutcomeCallable changeDomainGroupCallable(const Model::ChangeDomainGroupRequest& request) const;
+			DescribeGtmAccessStrategyOutcome describeGtmAccessStrategy(const Model::DescribeGtmAccessStrategyRequest &request)const;
+			void describeGtmAccessStrategyAsync(const Model::DescribeGtmAccessStrategyRequest& request, const DescribeGtmAccessStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmAccessStrategyOutcomeCallable describeGtmAccessStrategyCallable(const Model::DescribeGtmAccessStrategyRequest& request) const;
+			AddDomainGroupOutcome addDomainGroup(const Model::AddDomainGroupRequest &request)const;
+			void addDomainGroupAsync(const Model::AddDomainGroupRequest& request, const AddDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddDomainGroupOutcomeCallable addDomainGroupCallable(const Model::AddDomainGroupRequest& request) const;
+			CheckDomainRecordOutcome checkDomainRecord(const Model::CheckDomainRecordRequest &request)const;
+			void checkDomainRecordAsync(const Model::CheckDomainRecordRequest& request, const CheckDomainRecordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CheckDomainRecordOutcomeCallable checkDomainRecordCallable(const Model::CheckDomainRecordRequest& request) const;
+			ChangeDomainOfDnsProductOutcome changeDomainOfDnsProduct(const Model::ChangeDomainOfDnsProductRequest &request)const;
+			void changeDomainOfDnsProductAsync(const Model::ChangeDomainOfDnsProductRequest& request, const ChangeDomainOfDnsProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ChangeDomainOfDnsProductOutcomeCallable changeDomainOfDnsProductCallable(const Model::ChangeDomainOfDnsProductRequest& request) const;
+			DeleteGtmAccessStrategyOutcome deleteGtmAccessStrategy(const Model::DeleteGtmAccessStrategyRequest &request)const;
+			void deleteGtmAccessStrategyAsync(const Model::DeleteGtmAccessStrategyRequest& request, const DeleteGtmAccessStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteGtmAccessStrategyOutcomeCallable deleteGtmAccessStrategyCallable(const Model::DeleteGtmAccessStrategyRequest& request) const;
+			DeleteDomainOutcome deleteDomain(const Model::DeleteDomainRequest &request)const;
+			void deleteDomainAsync(const Model::DeleteDomainRequest& request, const DeleteDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDomainOutcomeCallable deleteDomainCallable(const Model::DeleteDomainRequest& request) const;
+			DescribeGtmAvailableAlertGroupOutcome describeGtmAvailableAlertGroup(const Model::DescribeGtmAvailableAlertGroupRequest &request)const;
+			void describeGtmAvailableAlertGroupAsync(const Model::DescribeGtmAvailableAlertGroupRequest& request, const DescribeGtmAvailableAlertGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmAvailableAlertGroupOutcomeCallable describeGtmAvailableAlertGroupCallable(const Model::DescribeGtmAvailableAlertGroupRequest& request) const;
+			AddGtmAddressPoolOutcome addGtmAddressPool(const Model::AddGtmAddressPoolRequest &request)const;
+			void addGtmAddressPoolAsync(const Model::AddGtmAddressPoolRequest& request, const AddGtmAddressPoolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddGtmAddressPoolOutcomeCallable addGtmAddressPoolCallable(const Model::AddGtmAddressPoolRequest& request) const;
+			DeleteSubDomainRecordsOutcome deleteSubDomainRecords(const Model::DeleteSubDomainRecordsRequest &request)const;
+			void deleteSubDomainRecordsAsync(const Model::DeleteSubDomainRecordsRequest& request, const DeleteSubDomainRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteSubDomainRecordsOutcomeCallable deleteSubDomainRecordsCallable(const Model::DeleteSubDomainRecordsRequest& request) const;
+			UpdateGtmMonitorOutcome updateGtmMonitor(const Model::UpdateGtmMonitorRequest &request)const;
+			void updateGtmMonitorAsync(const Model::UpdateGtmMonitorRequest& request, const UpdateGtmMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateGtmMonitorOutcomeCallable updateGtmMonitorCallable(const Model::UpdateGtmMonitorRequest& request) const;
+			DescribeDomainNsOutcome describeDomainNs(const Model::DescribeDomainNsRequest &request)const;
+			void describeDomainNsAsync(const Model::DescribeDomainNsRequest& request, const DescribeDomainNsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainNsOutcomeCallable describeDomainNsCallable(const Model::DescribeDomainNsRequest& request) const;
+			SetDNSSLBStatusOutcome setDNSSLBStatus(const Model::SetDNSSLBStatusRequest &request)const;
+			void setDNSSLBStatusAsync(const Model::SetDNSSLBStatusRequest& request, const SetDNSSLBStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetDNSSLBStatusOutcomeCallable setDNSSLBStatusCallable(const Model::SetDNSSLBStatusRequest& request) const;
+			DescribeGtmAccessStrategyAvailableConfigOutcome describeGtmAccessStrategyAvailableConfig(const Model::DescribeGtmAccessStrategyAvailableConfigRequest &request)const;
+			void describeGtmAccessStrategyAvailableConfigAsync(const Model::DescribeGtmAccessStrategyAvailableConfigRequest& request, const DescribeGtmAccessStrategyAvailableConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmAccessStrategyAvailableConfigOutcomeCallable describeGtmAccessStrategyAvailableConfigCallable(const Model::DescribeGtmAccessStrategyAvailableConfigRequest& request) const;
+			DescribeGtmMonitorConfigOutcome describeGtmMonitorConfig(const Model::DescribeGtmMonitorConfigRequest &request)const;
+			void describeGtmMonitorConfigAsync(const Model::DescribeGtmMonitorConfigRequest& request, const DescribeGtmMonitorConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGtmMonitorConfigOutcomeCallable describeGtmMonitorConfigCallable(const Model::DescribeGtmMonitorConfigRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_ALIDNS_ALIDNSCLIENT_H_

+ 32 - 0
alidns/include/alibabacloud/alidns/AlidnsExport.h

@@ -0,0 +1,32 @@
+/*
+ * 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_ALIDNSEXPORT_H_
+#define ALIBABACLOUD_ALIDNS_ALIDNSEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_ALIDNS_LIBRARY)
+#		define ALIBABACLOUD_ALIDNS_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_ALIDNS_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_ALIDNS_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_ALIDNS_ALIDNSEXPORT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/AddDomainGroupRequest.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_ADDDOMAINGROUPREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINGROUPREQUEST_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 AddDomainGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddDomainGroupRequest();
+				~AddDomainGroupRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getGroupName()const;
+				void setGroupName(const std::string& groupName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				std::string lang_;
+				std::string groupName_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINGROUPREQUEST_H_

+ 53 - 0
alidns/include/alibabacloud/alidns/model/AddDomainGroupResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINGROUPRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINGROUPRESULT_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 AddDomainGroupResult : public ServiceResult
+			{
+			public:
+
+
+				AddDomainGroupResult();
+				explicit AddDomainGroupResult(const std::string &payload);
+				~AddDomainGroupResult();
+				std::string getGroupName()const;
+				std::string getGroupId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string groupName_;
+				std::string groupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINGROUPRESULT_H_

+ 75 - 0
alidns/include/alibabacloud/alidns/model/AddDomainRecordRequest.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRECORDREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRECORDREQUEST_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 AddDomainRecordRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddDomainRecordRequest();
+				~AddDomainRecordRequest();
+
+				std::string getRR()const;
+				void setRR(const std::string& rR);
+				std::string getLine()const;
+				void setLine(const std::string& line);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+				long getPriority()const;
+				void setPriority(long priority);
+				std::string getValue()const;
+				void setValue(const std::string& value);
+				long getTTL()const;
+				void setTTL(long tTL);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string rR_;
+				std::string line_;
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string type_;
+				long priority_;
+				std::string value_;
+				long tTL_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRECORDREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/AddDomainRecordResult.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_ADDDOMAINRECORDRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRECORDRESULT_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 AddDomainRecordResult : public ServiceResult
+			{
+			public:
+
+
+				AddDomainRecordResult();
+				explicit AddDomainRecordResult(const std::string &payload);
+				~AddDomainRecordResult();
+				std::string getRecordId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string recordId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRECORDRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/AddDomainRequest.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_ADDDOMAINREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINREQUEST_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 AddDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddDomainRequest();
+				~AddDomainRequest();
+
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string groupId_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINREQUEST_H_

+ 61 - 0
alidns/include/alibabacloud/alidns/model/AddDomainResult.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_ADDDOMAINRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRESULT_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 AddDomainResult : public ServiceResult
+			{
+			public:
+
+
+				AddDomainResult();
+				explicit AddDomainResult(const std::string &payload);
+				~AddDomainResult();
+				std::string getGroupName()const;
+				std::string getDomainId()const;
+				std::string getDomainName()const;
+				std::string getPunyCode()const;
+				std::vector<std::string> getDnsServers()const;
+				std::string getGroupId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string groupName_;
+				std::string domainId_;
+				std::string domainName_;
+				std::string punyCode_;
+				std::vector<std::string> dnsServers_;
+				std::string groupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDDOMAINRESULT_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/AddGtmAccessStrategyRequest.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_ADDGTMACCESSSTRATEGYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDGTMACCESSSTRATEGYREQUEST_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 AddGtmAccessStrategyRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddGtmAccessStrategyRequest();
+				~AddGtmAccessStrategyRequest();
+
+				std::string getStrategyName()const;
+				void setStrategyName(const std::string& strategyName);
+				std::string getDefaultAddrPoolId()const;
+				void setDefaultAddrPoolId(const std::string& defaultAddrPoolId);
+				std::string getAccessLines()const;
+				void setAccessLines(const std::string& accessLines);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getFailoverAddrPoolId()const;
+				void setFailoverAddrPoolId(const std::string& failoverAddrPoolId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string strategyName_;
+				std::string defaultAddrPoolId_;
+				std::string accessLines_;
+				std::string instanceId_;
+				std::string failoverAddrPoolId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDGTMACCESSSTRATEGYREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/AddGtmAccessStrategyResult.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_ADDGTMACCESSSTRATEGYRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDGTMACCESSSTRATEGYRESULT_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 AddGtmAccessStrategyResult : public ServiceResult
+			{
+			public:
+
+
+				AddGtmAccessStrategyResult();
+				explicit AddGtmAccessStrategyResult(const std::string &payload);
+				~AddGtmAccessStrategyResult();
+				std::string getStrategyId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string strategyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDGTMACCESSSTRATEGYRESULT_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/AddGtmAddressPoolRequest.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_ADDGTMADDRESSPOOLREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDGTMADDRESSPOOLREQUEST_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 AddGtmAddressPoolRequest : public RpcServiceRequest
+			{
+				struct Addr
+				{
+					std::string mode;
+					int lbaWeight;
+					std::string value;
+				};
+
+			public:
+				AddGtmAddressPoolRequest();
+				~AddGtmAddressPoolRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::vector<Addr> getAddr()const;
+				void setAddr(const std::vector<Addr>& addr);
+				int getMinAvailableAddrNum()const;
+				void setMinAvailableAddrNum(int minAvailableAddrNum);
+
+            private:
+				std::string instanceId_;
+				std::string userClientIp_;
+				std::string name_;
+				std::string lang_;
+				std::string type_;
+				std::vector<Addr> addr_;
+				int minAvailableAddrNum_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDGTMADDRESSPOOLREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/AddGtmAddressPoolResult.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_ADDGTMADDRESSPOOLRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDGTMADDRESSPOOLRESULT_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 AddGtmAddressPoolResult : public ServiceResult
+			{
+			public:
+
+
+				AddGtmAddressPoolResult();
+				explicit AddGtmAddressPoolResult(const std::string &payload);
+				~AddGtmAddressPoolResult();
+				std::string getAddrPoolId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string addrPoolId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDGTMADDRESSPOOLRESULT_H_

+ 80 - 0
alidns/include/alibabacloud/alidns/model/AddGtmMonitorRequest.h

@@ -0,0 +1,80 @@
+/*
+ * 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_ADDGTMMONITORREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDGTMMONITORREQUEST_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 AddGtmMonitorRequest : public RpcServiceRequest
+			{
+				struct IspCityNode
+				{
+					std::string cityCode;
+					std::string ispCode;
+				};
+
+			public:
+				AddGtmMonitorRequest();
+				~AddGtmMonitorRequest();
+
+				std::string getMonitorExtendInfo()const;
+				void setMonitorExtendInfo(const std::string& monitorExtendInfo);
+				std::string getAddrPoolId()const;
+				void setAddrPoolId(const std::string& addrPoolId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getName()const;
+				void setName(const std::string& name);
+				int getEvaluationCount()const;
+				void setEvaluationCount(int evaluationCount);
+				std::string getProtocolType()const;
+				void setProtocolType(const std::string& protocolType);
+				int getInterval()const;
+				void setInterval(int interval);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				int getTimeout()const;
+				void setTimeout(int timeout);
+				std::vector<IspCityNode> getIspCityNode()const;
+				void setIspCityNode(const std::vector<IspCityNode>& ispCityNode);
+
+            private:
+				std::string monitorExtendInfo_;
+				std::string addrPoolId_;
+				std::string userClientIp_;
+				std::string name_;
+				int evaluationCount_;
+				std::string protocolType_;
+				int interval_;
+				std::string lang_;
+				int timeout_;
+				std::vector<IspCityNode> ispCityNode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDGTMMONITORREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/AddGtmMonitorResult.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_ADDGTMMONITORRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_ADDGTMMONITORRESULT_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 AddGtmMonitorResult : public ServiceResult
+			{
+			public:
+
+
+				AddGtmMonitorResult();
+				explicit AddGtmMonitorResult(const std::string &payload);
+				~AddGtmMonitorResult();
+				std::string getMonitorConfigId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string monitorConfigId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_ADDGTMMONITORRESULT_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/ChangeDomainGroupRequest.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_CHANGEDOMAINGROUPREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINGROUPREQUEST_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 ChangeDomainGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				ChangeDomainGroupRequest();
+				~ChangeDomainGroupRequest();
+
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string groupId_;
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINGROUPREQUEST_H_

+ 53 - 0
alidns/include/alibabacloud/alidns/model/ChangeDomainGroupResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINGROUPRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINGROUPRESULT_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 ChangeDomainGroupResult : public ServiceResult
+			{
+			public:
+
+
+				ChangeDomainGroupResult();
+				explicit ChangeDomainGroupResult(const std::string &payload);
+				~ChangeDomainGroupResult();
+				std::string getGroupName()const;
+				std::string getGroupId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string groupName_;
+				std::string groupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINGROUPRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/ChangeDomainOfDnsProductRequest.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_CHANGEDOMAINOFDNSPRODUCTREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINOFDNSPRODUCTREQUEST_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 ChangeDomainOfDnsProductRequest : public RpcServiceRequest
+			{
+
+			public:
+				ChangeDomainOfDnsProductRequest();
+				~ChangeDomainOfDnsProductRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNewDomain()const;
+				void setNewDomain(const std::string& newDomain);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				bool getForce()const;
+				void setForce(bool force);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string instanceId_;
+				std::string newDomain_;
+				std::string userClientIp_;
+				bool force_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINOFDNSPRODUCTREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/ChangeDomainOfDnsProductResult.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_CHANGEDOMAINOFDNSPRODUCTRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINOFDNSPRODUCTRESULT_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 ChangeDomainOfDnsProductResult : public ServiceResult
+			{
+			public:
+
+
+				ChangeDomainOfDnsProductResult();
+				explicit ChangeDomainOfDnsProductResult(const std::string &payload);
+				~ChangeDomainOfDnsProductResult();
+				std::string getOriginalDomain()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string originalDomain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CHANGEDOMAINOFDNSPRODUCTRESULT_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/CheckDomainRecordRequest.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_CHECKDOMAINRECORDREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CHECKDOMAINRECORDREQUEST_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 CheckDomainRecordRequest : public RpcServiceRequest
+			{
+
+			public:
+				CheckDomainRecordRequest();
+				~CheckDomainRecordRequest();
+
+				std::string getRR()const;
+				void setRR(const std::string& rR);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getValue()const;
+				void setValue(const std::string& value);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string rR_;
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string type_;
+				std::string value_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CHECKDOMAINRECORDREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/CheckDomainRecordResult.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_CHECKDOMAINRECORDRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CHECKDOMAINRECORDRESULT_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 CheckDomainRecordResult : public ServiceResult
+			{
+			public:
+
+
+				CheckDomainRecordResult();
+				explicit CheckDomainRecordResult(const std::string &payload);
+				~CheckDomainRecordResult();
+				bool getIsExist()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool isExist_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CHECKDOMAINRECORDRESULT_H_

+ 69 - 0
alidns/include/alibabacloud/alidns/model/CreateInstanceRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_CREATEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CREATEINSTANCEREQUEST_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 CreateInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateInstanceRequest();
+				~CreateInstanceRequest();
+
+				int getMonth()const;
+				void setMonth(int month);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getInstanceVersion()const;
+				void setInstanceVersion(const std::string& instanceVersion);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getToken()const;
+				void setToken(const std::string& token);
+
+            private:
+				int month_;
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string instanceVersion_;
+				long ownerId_;
+				std::string accessKeyId_;
+				std::string token_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CREATEINSTANCEREQUEST_H_

+ 53 - 0
alidns/include/alibabacloud/alidns/model/CreateInstanceResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_CREATEINSTANCERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_CREATEINSTANCERESULT_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 CreateInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				CreateInstanceResult();
+				explicit CreateInstanceResult(const std::string &payload);
+				~CreateInstanceResult();
+				std::string getInstanceId()const;
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string instanceId_;
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_CREATEINSTANCERESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DeleteDomainGroupRequest.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_DELETEDOMAINGROUPREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINGROUPREQUEST_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 DeleteDomainGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDomainGroupRequest();
+				~DeleteDomainGroupRequest();
+
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string groupId_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINGROUPREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DeleteDomainGroupResult.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_DELETEDOMAINGROUPRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINGROUPRESULT_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 DeleteDomainGroupResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDomainGroupResult();
+				explicit DeleteDomainGroupResult(const std::string &payload);
+				~DeleteDomainGroupResult();
+				std::string getGroupName()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string groupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINGROUPRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DeleteDomainRecordRequest.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_DELETEDOMAINRECORDREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINRECORDREQUEST_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 DeleteDomainRecordRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDomainRecordRequest();
+				~DeleteDomainRecordRequest();
+
+				std::string getRecordId()const;
+				void setRecordId(const std::string& recordId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string recordId_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINRECORDREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DeleteDomainRecordResult.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_DELETEDOMAINRECORDRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINRECORDRESULT_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 DeleteDomainRecordResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDomainRecordResult();
+				explicit DeleteDomainRecordResult(const std::string &payload);
+				~DeleteDomainRecordResult();
+				std::string getRecordId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string recordId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINRECORDRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DeleteDomainRequest.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_DELETEDOMAINREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINREQUEST_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 DeleteDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDomainRequest();
+				~DeleteDomainRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DeleteDomainResult.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_DELETEDOMAINRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINRESULT_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 DeleteDomainResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDomainResult();
+				explicit DeleteDomainResult(const std::string &payload);
+				~DeleteDomainResult();
+				std::string getDomainName()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string domainName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEDOMAINRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DeleteGtmAccessStrategyRequest.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_DELETEGTMACCESSSTRATEGYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMACCESSSTRATEGYREQUEST_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 DeleteGtmAccessStrategyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteGtmAccessStrategyRequest();
+				~DeleteGtmAccessStrategyRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getStrategyId()const;
+				void setStrategyId(const std::string& strategyId);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string userClientIp_;
+				std::string strategyId_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMACCESSSTRATEGYREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/DeleteGtmAccessStrategyResult.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_DELETEGTMACCESSSTRATEGYRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMACCESSSTRATEGYRESULT_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 DeleteGtmAccessStrategyResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteGtmAccessStrategyResult();
+				explicit DeleteGtmAccessStrategyResult(const std::string &payload);
+				~DeleteGtmAccessStrategyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMACCESSSTRATEGYRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DeleteGtmAddressPoolRequest.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_DELETEGTMADDRESSPOOLREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMADDRESSPOOLREQUEST_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 DeleteGtmAddressPoolRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteGtmAddressPoolRequest();
+				~DeleteGtmAddressPoolRequest();
+
+				std::string getAddrPoolId()const;
+				void setAddrPoolId(const std::string& addrPoolId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string addrPoolId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMADDRESSPOOLREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/DeleteGtmAddressPoolResult.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_DELETEGTMADDRESSPOOLRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMADDRESSPOOLRESULT_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 DeleteGtmAddressPoolResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteGtmAddressPoolResult();
+				explicit DeleteGtmAddressPoolResult(const std::string &payload);
+				~DeleteGtmAddressPoolResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETEGTMADDRESSPOOLRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DeleteSubDomainRecordsRequest.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_DELETESUBDOMAINRECORDSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETESUBDOMAINRECORDSREQUEST_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 DeleteSubDomainRecordsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteSubDomainRecordsRequest();
+				~DeleteSubDomainRecordsRequest();
+
+				std::string getRR()const;
+				void setRR(const std::string& rR);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string rR_;
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string type_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETESUBDOMAINRECORDSREQUEST_H_

+ 53 - 0
alidns/include/alibabacloud/alidns/model/DeleteSubDomainRecordsResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DELETESUBDOMAINRECORDSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DELETESUBDOMAINRECORDSRESULT_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 DeleteSubDomainRecordsResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteSubDomainRecordsResult();
+				explicit DeleteSubDomainRecordsResult(const std::string &payload);
+				~DeleteSubDomainRecordsResult();
+				std::string getRR()const;
+				std::string getTotalCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string rR_;
+				std::string totalCount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DELETESUBDOMAINRECORDSRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribeBatchResultCountRequest.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_DESCRIBEBATCHRESULTCOUNTREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTCOUNTREQUEST_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 DescribeBatchResultCountRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBatchResultCountRequest();
+				~DescribeBatchResultCountRequest();
+
+				std::string getBatchType()const;
+				void setBatchType(const std::string& batchType);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getTaskId()const;
+				void setTaskId(long taskId);
+
+            private:
+				std::string batchType_;
+				std::string userClientIp_;
+				std::string lang_;
+				long taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTCOUNTREQUEST_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribeBatchResultCountResult.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_DESCRIBEBATCHRESULTCOUNTRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTCOUNTRESULT_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 DescribeBatchResultCountResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeBatchResultCountResult();
+				explicit DescribeBatchResultCountResult(const std::string &payload);
+				~DescribeBatchResultCountResult();
+				int getStatus()const;
+				int getTotalCount()const;
+				long getTaskId()const;
+				int getFailedCount()const;
+				int getSuccessCount()const;
+				std::string getReason()const;
+				std::string getBatchType()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int status_;
+				int totalCount_;
+				long taskId_;
+				int failedCount_;
+				int successCount_;
+				std::string reason_;
+				std::string batchType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTCOUNTRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribeBatchResultDetailRequest.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_DESCRIBEBATCHRESULTDETAILREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTDETAILREQUEST_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 DescribeBatchResultDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBatchResultDetailRequest();
+				~DescribeBatchResultDetailRequest();
+
+				std::string getBatchType()const;
+				void setBatchType(const std::string& batchType);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				long getTaskId()const;
+				void setTaskId(long taskId);
+
+            private:
+				std::string batchType_;
+				std::string userClientIp_;
+				int pageSize_;
+				std::string lang_;
+				int pageNumber_;
+				long taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTDETAILREQUEST_H_

+ 76 - 0
alidns/include/alibabacloud/alidns/model/DescribeBatchResultDetailResult.h

@@ -0,0 +1,76 @@
+/*
+ * 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_DESCRIBEBATCHRESULTDETAILRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTDETAILRESULT_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 DescribeBatchResultDetailResult : public ServiceResult
+			{
+			public:
+				struct BatchResultDetail
+				{
+					std::string rr;
+					bool status;
+					std::string operateDateStr;
+					int priority;
+					std::string rrStatus;
+					int ttl;
+					std::string reason;
+					std::string batchType;
+					std::string remark;
+					std::string line;
+					std::string type;
+					std::string value;
+					std::string newRr;
+					std::string newValue;
+					std::string recordId;
+					std::string domain;
+				};
+
+
+				DescribeBatchResultDetailResult();
+				explicit DescribeBatchResultDetailResult(const std::string &payload);
+				~DescribeBatchResultDetailResult();
+				std::vector<BatchResultDetail> getBatchResultDetails()const;
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<BatchResultDetail> batchResultDetails_;
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEBATCHRESULTDETAILRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribeDNSSLBSubDomainsRequest.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_DESCRIBEDNSSLBSUBDOMAINSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSSLBSUBDOMAINSREQUEST_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 DescribeDNSSLBSubDomainsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDNSSLBSubDomainsRequest();
+				~DescribeDNSSLBSubDomainsRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				std::string domainName_;
+				long pageSize_;
+				std::string lang_;
+				long pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSSLBSUBDOMAINSREQUEST_H_

+ 64 - 0
alidns/include/alibabacloud/alidns/model/DescribeDNSSLBSubDomainsResult.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_DESCRIBEDNSSLBSUBDOMAINSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSSLBSUBDOMAINSRESULT_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 DescribeDNSSLBSubDomainsResult : public ServiceResult
+			{
+			public:
+				struct SlbSubDomain
+				{
+					std::string subDomain;
+					std::string type;
+					long recordCount;
+					bool open;
+				};
+
+
+				DescribeDNSSLBSubDomainsResult();
+				explicit DescribeDNSSLBSubDomainsResult(const std::string &payload);
+				~DescribeDNSSLBSubDomainsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<SlbSubDomain> getSlbSubDomains()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<SlbSubDomain> slbSubDomains_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSSLBSUBDOMAINSRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstanceRequest.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_DESCRIBEDNSPRODUCTINSTANCEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCEREQUEST_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 DescribeDnsProductInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDnsProductInstanceRequest();
+				~DescribeDnsProductInstanceRequest();
+
+				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);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string instanceId_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCEREQUEST_H_

+ 113 - 0
alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstanceResult.h

@@ -0,0 +1,113 @@
+/*
+ * 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_DESCRIBEDNSPRODUCTINSTANCERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCERESULT_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 DescribeDnsProductInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeDnsProductInstanceResult();
+				explicit DescribeDnsProductInstanceResult(const std::string &payload);
+				~DescribeDnsProductInstanceResult();
+				long getMonitorNodeCount()const;
+				bool getInBlackHole()const;
+				long getBindDomainCount()const;
+				bool getRegionLines()const;
+				std::string getEndTime()const;
+				long getBindCount()const;
+				long getStartTimestamp()const;
+				std::string getISPLines()const;
+				std::vector<std::string> getDnsServers()const;
+				long getEndTimestamp()const;
+				long getDDosDefendQuery()const;
+				std::string getDnsSecurity()const;
+				long getURLForwardCount()const;
+				long getTTLMinValue()const;
+				std::string getVersionName()const;
+				std::string getOverseaLine()const;
+				std::string getISPRegionLines()const;
+				bool getGslb()const;
+				long getBindUsedCount()const;
+				long getDnsSLBCount()const;
+				std::string getInstanceId()const;
+				long getMonitorTaskCount()const;
+				std::string getStartTime()const;
+				long getDDosDefendFlow()const;
+				long getMonitorFrequency()const;
+				std::string getSearchEngineLines()const;
+				long getBindDomainUsedCount()const;
+				std::string getVersionCode()const;
+				long getOverseaDDosDefendFlow()const;
+				long getSubDomainLevel()const;
+				bool getInClean()const;
+				std::string getDomain()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long monitorNodeCount_;
+				bool inBlackHole_;
+				long bindDomainCount_;
+				bool regionLines_;
+				std::string endTime_;
+				long bindCount_;
+				long startTimestamp_;
+				std::string iSPLines_;
+				std::vector<std::string> dnsServers_;
+				long endTimestamp_;
+				long dDosDefendQuery_;
+				std::string dnsSecurity_;
+				long uRLForwardCount_;
+				long tTLMinValue_;
+				std::string versionName_;
+				std::string overseaLine_;
+				std::string iSPRegionLines_;
+				bool gslb_;
+				long bindUsedCount_;
+				long dnsSLBCount_;
+				std::string instanceId_;
+				long monitorTaskCount_;
+				std::string startTime_;
+				long dDosDefendFlow_;
+				long monitorFrequency_;
+				std::string searchEngineLines_;
+				long bindDomainUsedCount_;
+				std::string versionCode_;
+				long overseaDDosDefendFlow_;
+				long subDomainLevel_;
+				bool inClean_;
+				std::string domain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCERESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstancesRequest.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_DESCRIBEDNSPRODUCTINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCESREQUEST_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 DescribeDnsProductInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDnsProductInstancesRequest();
+				~DescribeDnsProductInstancesRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getVersionCode()const;
+				void setVersionCode(const std::string& versionCode);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				long pageSize_;
+				std::string lang_;
+				std::string versionCode_;
+				long pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCESREQUEST_H_

+ 91 - 0
alidns/include/alibabacloud/alidns/model/DescribeDnsProductInstancesResult.h

@@ -0,0 +1,91 @@
+/*
+ * 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_DESCRIBEDNSPRODUCTINSTANCESRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCESRESULT_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 DescribeDnsProductInstancesResult : public ServiceResult
+			{
+			public:
+				struct DnsProduct
+				{
+					long monitorNodeCount;
+					bool inBlackHole;
+					long bindDomainCount;
+					bool regionLines;
+					std::string endTime;
+					long bindCount;
+					long startTimestamp;
+					std::string iSPLines;
+					long endTimestamp;
+					long dDosDefendQuery;
+					std::string dnsSecurity;
+					long uRLForwardCount;
+					long tTLMinValue;
+					std::string versionName;
+					std::string overseaLine;
+					std::string iSPRegionLines;
+					bool gslb;
+					long bindUsedCount;
+					long dnsSLBCount;
+					std::string instanceId;
+					long monitorTaskCount;
+					std::string startTime;
+					long dDosDefendFlow;
+					long monitorFrequency;
+					std::string searchEngineLines;
+					long bindDomainUsedCount;
+					std::string versionCode;
+					long overseaDDosDefendFlow;
+					long subDomainLevel;
+					bool inClean;
+					std::string domain;
+				};
+
+
+				DescribeDnsProductInstancesResult();
+				explicit DescribeDnsProductInstancesResult(const std::string &payload);
+				~DescribeDnsProductInstancesResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<DnsProduct> getDnsProducts()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<DnsProduct> dnsProducts_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDNSPRODUCTINSTANCESRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainGroupsRequest.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_DESCRIBEDOMAINGROUPSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINGROUPSREQUEST_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 DescribeDomainGroupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainGroupsRequest();
+				~DescribeDomainGroupsRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				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);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				long pageSize_;
+				std::string lang_;
+				std::string keyWord_;
+				long pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINGROUPSREQUEST_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainGroupsResult.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_DESCRIBEDOMAINGROUPSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINGROUPSRESULT_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 DescribeDomainGroupsResult : public ServiceResult
+			{
+			public:
+				struct DomainGroup
+				{
+					std::string groupName;
+					std::string groupId;
+					long domainCount;
+				};
+
+
+				DescribeDomainGroupsResult();
+				explicit DescribeDomainGroupsResult(const std::string &payload);
+				~DescribeDomainGroupsResult();
+				std::vector<DomainGroup> getDomainGroups()const;
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DomainGroup> domainGroups_;
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINGROUPSRESULT_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainInfoRequest.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_DESCRIBEDOMAININFOREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAININFOREQUEST_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 DescribeDomainInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainInfoRequest();
+				~DescribeDomainInfoRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				bool getNeedDetailAttributes()const;
+				void setNeedDetailAttributes(bool needDetailAttributes);
+
+            private:
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+				bool needDetailAttributes_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAININFOREQUEST_H_

+ 96 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainInfoResult.h

@@ -0,0 +1,96 @@
+/*
+ * 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_DESCRIBEDOMAININFORESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAININFORESULT_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 DescribeDomainInfoResult : public ServiceResult
+			{
+			public:
+				struct RecordLine
+				{
+					std::string fatherCode;
+					std::string lineDisplayName;
+					std::string lineCode;
+					std::string lineName;
+				};
+
+
+				DescribeDomainInfoResult();
+				explicit DescribeDomainInfoResult(const std::string &payload);
+				~DescribeDomainInfoResult();
+				std::string getGroupName()const;
+				std::string getRecordLineTreeJson()const;
+				bool getInBlackHole()const;
+				bool getRegionLines()const;
+				bool getAliDomain()const;
+				bool getSlaveDns()const;
+				std::string getDomainName()const;
+				std::string getInstanceId()const;
+				std::string getPunyCode()const;
+				std::vector<std::string> getDnsServers()const;
+				std::string getRemark()const;
+				std::string getGroupId()const;
+				std::vector<RecordLine> getRecordLines()const;
+				std::string getVersionCode()const;
+				std::string getDomainId()const;
+				std::vector<std::string> getAvailableTtls()const;
+				std::string getVersionName()const;
+				long getMinTtl()const;
+				bool getInClean()const;
+				std::string getLineType()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string groupName_;
+				std::string recordLineTreeJson_;
+				bool inBlackHole_;
+				bool regionLines_;
+				bool aliDomain_;
+				bool slaveDns_;
+				std::string domainName_;
+				std::string instanceId_;
+				std::string punyCode_;
+				std::vector<std::string> dnsServers_;
+				std::string remark_;
+				std::string groupId_;
+				std::vector<RecordLine> recordLines_;
+				std::string versionCode_;
+				std::string domainId_;
+				std::vector<std::string> availableTtls_;
+				std::string versionName_;
+				long minTtl_;
+				bool inClean_;
+				std::string lineType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAININFORESULT_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainLogsRequest.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_DESCRIBEDOMAINLOGSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINLOGSREQUEST_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 DescribeDomainLogsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainLogsRequest();
+				~DescribeDomainLogsRequest();
+
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				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);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				std::string getType()const;
+				void setType(const std::string& type);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+
+            private:
+				std::string endDate_;
+				std::string groupId_;
+				std::string userClientIp_;
+				long pageSize_;
+				std::string lang_;
+				std::string keyWord_;
+				std::string startDate_;
+				std::string type_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINLOGSREQUEST_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainLogsResult.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_DESCRIBEDOMAINLOGSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINLOGSRESULT_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 DescribeDomainLogsResult : public ServiceResult
+			{
+			public:
+				struct DomainLog
+				{
+					std::string actionTime;
+					std::string action;
+					std::string message;
+					std::string domainName;
+					long actionTimestamp;
+					std::string clientIp;
+				};
+
+
+				DescribeDomainLogsResult();
+				explicit DescribeDomainLogsResult(const std::string &payload);
+				~DescribeDomainLogsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<DomainLog> getDomainLogs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<DomainLog> domainLogs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINLOGSRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainNsRequest.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_DESCRIBEDOMAINNSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINNSREQUEST_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 DescribeDomainNsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainNsRequest();
+				~DescribeDomainNsRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINNSREQUEST_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainNsResult.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_DESCRIBEDOMAINNSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINNSRESULT_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 DescribeDomainNsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeDomainNsResult();
+				explicit DescribeDomainNsResult(const std::string &payload);
+				~DescribeDomainNsResult();
+				bool getAllAliDns()const;
+				std::vector<std::string> getExpectDnsServers()const;
+				std::vector<std::string> getDnsServers()const;
+				bool getIncludeAliDns()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool allAliDns_;
+				std::vector<std::string> expectDnsServers_;
+				std::vector<std::string> dnsServers_;
+				bool includeAliDns_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINNSRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainRecordInfoRequest.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_DESCRIBEDOMAINRECORDINFOREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDINFOREQUEST_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 DescribeDomainRecordInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainRecordInfoRequest();
+				~DescribeDomainRecordInfoRequest();
+
+				std::string getRecordId()const;
+				void setRecordId(const std::string& recordId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string recordId_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDINFOREQUEST_H_

+ 77 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainRecordInfoResult.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDINFORESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDINFORESULT_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 DescribeDomainRecordInfoResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeDomainRecordInfoResult();
+				explicit DescribeDomainRecordInfoResult(const std::string &payload);
+				~DescribeDomainRecordInfoResult();
+				std::string getGroupName()const;
+				std::string getRR()const;
+				std::string getStatus()const;
+				std::string getDomainName()const;
+				long getPriority()const;
+				std::string getPunyCode()const;
+				long getTTL()const;
+				std::string getGroupId()const;
+				std::string getLine()const;
+				bool getLocked()const;
+				std::string getType()const;
+				std::string getDomainId()const;
+				std::string getValue()const;
+				std::string getRecordId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string groupName_;
+				std::string rR_;
+				std::string status_;
+				std::string domainName_;
+				long priority_;
+				std::string punyCode_;
+				long tTL_;
+				std::string groupId_;
+				std::string line_;
+				bool locked_;
+				std::string type_;
+				std::string domainId_;
+				std::string value_;
+				std::string recordId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDINFORESULT_H_

+ 84 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainRecordsRequest.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_DESCRIBEDOMAINRECORDSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDSREQUEST_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 DescribeDomainRecordsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainRecordsRequest();
+				~DescribeDomainRecordsRequest();
+
+				std::string getValueKeyWord()const;
+				void setValueKeyWord(const std::string& valueKeyWord);
+				long getGroupId()const;
+				void setGroupId(long groupId);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getOrderBy()const;
+				void setOrderBy(const std::string& orderBy);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getSearchMode()const;
+				void setSearchMode(const std::string& searchMode);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKeyWord()const;
+				void setKeyWord(const std::string& keyWord);
+				std::string getTypeKeyWord()const;
+				void setTypeKeyWord(const std::string& typeKeyWord);
+				std::string getRRKeyWord()const;
+				void setRRKeyWord(const std::string& rRKeyWord);
+				std::string getDirection()const;
+				void setDirection(const std::string& direction);
+
+            private:
+				std::string valueKeyWord_;
+				long groupId_;
+				std::string domainName_;
+				std::string orderBy_;
+				long pageNumber_;
+				std::string userClientIp_;
+				long pageSize_;
+				std::string searchMode_;
+				std::string lang_;
+				std::string keyWord_;
+				std::string typeKeyWord_;
+				std::string rRKeyWord_;
+				std::string direction_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDSREQUEST_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainRecordsResult.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_DESCRIBEDOMAINRECORDSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDSRESULT_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 DescribeDomainRecordsResult : public ServiceResult
+			{
+			public:
+				struct Record
+				{
+					std::string rR;
+					std::string line;
+					std::string status;
+					bool locked;
+					std::string type;
+					std::string domainName;
+					long priority;
+					std::string value;
+					std::string recordId;
+					long tTL;
+					int weight;
+					std::string remark;
+				};
+
+
+				DescribeDomainRecordsResult();
+				explicit DescribeDomainRecordsResult(const std::string &payload);
+				~DescribeDomainRecordsResult();
+				long getTotalCount()const;
+				std::vector<Record> getDomainRecords()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				std::vector<Record> domainRecords_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINRECORDSRESULT_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainsRequest.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_DESCRIBEDOMAINSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINSREQUEST_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 DescribeDomainsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainsRequest();
+				~DescribeDomainsRequest();
+
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getSearchMode()const;
+				void setSearchMode(const std::string& searchMode);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKeyWord()const;
+				void setKeyWord(const std::string& keyWord);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+
+            private:
+				std::string groupId_;
+				std::string userClientIp_;
+				long pageSize_;
+				std::string searchMode_;
+				std::string lang_;
+				std::string keyWord_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINSREQUEST_H_

+ 75 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainsResult.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINSRESULT_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 DescribeDomainsResult : public ServiceResult
+			{
+			public:
+				struct Domain
+				{
+					std::string groupName;
+					bool aliDomain;
+					std::string domainName;
+					std::string instanceId;
+					std::string punyCode;
+					std::vector<std::string> dnsServers;
+					std::string remark;
+					std::string groupId;
+					std::string versionCode;
+					std::string domainId;
+					std::string versionName;
+					std::string registrantEmail;
+					std::string instanceEndTime;
+					bool instanceExpired;
+					long recordCount;
+				};
+
+
+				DescribeDomainsResult();
+				explicit DescribeDomainsResult(const std::string &payload);
+				~DescribeDomainsResult();
+				std::vector<Domain> getDomains()const;
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Domain> domains_;
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEDOMAINSRESULT_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategiesRequest.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_DESCRIBEGTMACCESSSTRATEGIESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGIESREQUEST_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 DescribeGtmAccessStrategiesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmAccessStrategiesRequest();
+				~DescribeGtmAccessStrategiesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+
+            private:
+				std::string instanceId_;
+				std::string userClientIp_;
+				int pageSize_;
+				std::string lang_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGIESREQUEST_H_

+ 82 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategiesResult.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_DESCRIBEGTMACCESSSTRATEGIESRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGIESRESULT_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 DescribeGtmAccessStrategiesResult : public ServiceResult
+			{
+			public:
+				struct Strategy
+				{
+					struct Line
+					{
+						std::string groupName;
+						std::string groupCode;
+						std::string lineCode;
+						std::string lineName;
+					};
+					std::string instanceId;
+					std::string createTime;
+					std::string strategyId;
+					std::string failoverAddrPoolId;
+					std::string defaultAddrPoolId;
+					std::string accessStatus;
+					std::string defaultAddrPoolName;
+					std::string strategyName;
+					std::string accessMode;
+					std::string strategyMode;
+					long createTimestamp;
+					std::string failoverAddrPoolName;
+					std::vector<Strategy::Line> lines;
+				};
+
+
+				DescribeGtmAccessStrategiesResult();
+				explicit DescribeGtmAccessStrategiesResult(const std::string &payload);
+				~DescribeGtmAccessStrategiesResult();
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<Strategy> getStrategies()const;
+				int getTotalPages()const;
+				int getTotalItems()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNumber_;
+				std::vector<Strategy> strategies_;
+				int totalPages_;
+				int totalItems_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGIESRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyAvailableConfigRequest.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_DESCRIBEGTMACCESSSTRATEGYAVAILABLECONFIGREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYAVAILABLECONFIGREQUEST_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 DescribeGtmAccessStrategyAvailableConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmAccessStrategyAvailableConfigRequest();
+				~DescribeGtmAccessStrategyAvailableConfigRequest();
+
+				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 instanceId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYAVAILABLECONFIGREQUEST_H_

+ 66 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyAvailableConfigResult.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_DESCRIBEGTMACCESSSTRATEGYAVAILABLECONFIGRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYAVAILABLECONFIGRESULT_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 DescribeGtmAccessStrategyAvailableConfigResult : public ServiceResult
+			{
+			public:
+				struct AddrPool
+				{
+					std::string addrPoolName;
+					std::string addrPoolId;
+				};
+				struct Line
+				{
+					std::string groupName;
+					std::string status;
+					std::string groupCode;
+					std::string lineCode;
+					std::string lineName;
+				};
+
+
+				DescribeGtmAccessStrategyAvailableConfigResult();
+				explicit DescribeGtmAccessStrategyAvailableConfigResult(const std::string &payload);
+				~DescribeGtmAccessStrategyAvailableConfigResult();
+				std::vector<AddrPool> getAddrPools()const;
+				std::vector<Line> getLines()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AddrPool> addrPools_;
+				std::vector<Line> lines_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYAVAILABLECONFIGRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyRequest.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_DESCRIBEGTMACCESSSTRATEGYREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYREQUEST_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 DescribeGtmAccessStrategyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmAccessStrategyRequest();
+				~DescribeGtmAccessStrategyRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getStrategyId()const;
+				void setStrategyId(const std::string& strategyId);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string userClientIp_;
+				std::string strategyId_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYREQUEST_H_

+ 78 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAccessStrategyResult.h

@@ -0,0 +1,78 @@
+/*
+ * 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_DESCRIBEGTMACCESSSTRATEGYRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYRESULT_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 DescribeGtmAccessStrategyResult : public ServiceResult
+			{
+			public:
+				struct Line
+				{
+					std::string groupName;
+					std::string groupCode;
+					std::string lineCode;
+					std::string lineName;
+				};
+
+
+				DescribeGtmAccessStrategyResult();
+				explicit DescribeGtmAccessStrategyResult(const std::string &payload);
+				~DescribeGtmAccessStrategyResult();
+				std::string getDefaultAddrPoolName()const;
+				std::string getDefultAddrPoolId()const;
+				std::string getStrategyName()const;
+				std::string getInstanceId()const;
+				std::string getStrategyId()const;
+				std::string getAccessMode()const;
+				std::string getStrategyMode()const;
+				std::string getFailoverAddrPoolName()const;
+				std::string getFailoverAddrPoolId()const;
+				std::vector<Line> getLines()const;
+				std::string getAccessStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string defaultAddrPoolName_;
+				std::string defultAddrPoolId_;
+				std::string strategyName_;
+				std::string instanceId_;
+				std::string strategyId_;
+				std::string accessMode_;
+				std::string strategyMode_;
+				std::string failoverAddrPoolName_;
+				std::string failoverAddrPoolId_;
+				std::vector<Line> lines_;
+				std::string accessStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMACCESSSTRATEGYRESULT_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAvailableAlertGroupRequest.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_DESCRIBEGTMAVAILABLEALERTGROUPREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMAVAILABLEALERTGROUPREQUEST_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 DescribeGtmAvailableAlertGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmAvailableAlertGroupRequest();
+				~DescribeGtmAvailableAlertGroupRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMAVAILABLEALERTGROUPREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmAvailableAlertGroupResult.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_DESCRIBEGTMAVAILABLEALERTGROUPRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMAVAILABLEALERTGROUPRESULT_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 DescribeGtmAvailableAlertGroupResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeGtmAvailableAlertGroupResult();
+				explicit DescribeGtmAvailableAlertGroupResult(const std::string &payload);
+				~DescribeGtmAvailableAlertGroupResult();
+				std::string getAvailableAlertGroup()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string availableAlertGroup_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMAVAILABLEALERTGROUPRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolRequest.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_DESCRIBEGTMINSTANCEADDRESSPOOLREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLREQUEST_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 DescribeGtmInstanceAddressPoolRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmInstanceAddressPoolRequest();
+				~DescribeGtmInstanceAddressPoolRequest();
+
+				std::string getAddrPoolId()const;
+				void setAddrPoolId(const std::string& addrPoolId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string addrPoolId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLREQUEST_H_

+ 87 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolResult.h

@@ -0,0 +1,87 @@
+/*
+ * 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_DESCRIBEGTMINSTANCEADDRESSPOOLRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLRESULT_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 DescribeGtmInstanceAddressPoolResult : public ServiceResult
+			{
+			public:
+				struct Addr
+				{
+					int lbaWeight;
+					std::string alertStatus;
+					long addrId;
+					std::string createTime;
+					std::string mode;
+					std::string updateTime;
+					std::string value;
+					long updateTimestamp;
+					long createTimestamp;
+				};
+
+
+				DescribeGtmInstanceAddressPoolResult();
+				explicit DescribeGtmInstanceAddressPoolResult(const std::string &payload);
+				~DescribeGtmInstanceAddressPoolResult();
+				std::vector<Addr> getAddrs()const;
+				std::string getStatus()const;
+				std::string getCreateTime()const;
+				int getAddrCount()const;
+				std::string getName()const;
+				std::string getType()const;
+				std::string getAddrPoolId()const;
+				std::string getUpdateTime()const;
+				long getUpdateTimestamp()const;
+				int getMinAvailableAddrNum()const;
+				std::string getMonitorConfigId()const;
+				long getCreateTimestamp()const;
+				std::string getMonitorStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Addr> addrs_;
+				std::string status_;
+				std::string createTime_;
+				int addrCount_;
+				std::string name_;
+				std::string type_;
+				std::string addrPoolId_;
+				std::string updateTime_;
+				long updateTimestamp_;
+				int minAvailableAddrNum_;
+				std::string monitorConfigId_;
+				long createTimestamp_;
+				std::string monitorStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLRESULT_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolsRequest.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_DESCRIBEGTMINSTANCEADDRESSPOOLSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLSREQUEST_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 DescribeGtmInstanceAddressPoolsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmInstanceAddressPoolsRequest();
+				~DescribeGtmInstanceAddressPoolsRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+
+            private:
+				std::string instanceId_;
+				std::string userClientIp_;
+				int pageSize_;
+				std::string lang_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLSREQUEST_H_

+ 74 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceAddressPoolsResult.h

@@ -0,0 +1,74 @@
+/*
+ * 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_DESCRIBEGTMINSTANCEADDRESSPOOLSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLSRESULT_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 DescribeGtmInstanceAddressPoolsResult : public ServiceResult
+			{
+			public:
+				struct AddrPool
+				{
+					std::string status;
+					std::string type;
+					std::string createTime;
+					std::string addrPoolId;
+					std::string updateTime;
+					long updateTimestamp;
+					int minAvailableAddrNum;
+					std::string monitorConfigId;
+					long createTimestamp;
+					std::string monitorStatus;
+					int addrCount;
+					std::string name;
+				};
+
+
+				DescribeGtmInstanceAddressPoolsResult();
+				explicit DescribeGtmInstanceAddressPoolsResult(const std::string &payload);
+				~DescribeGtmInstanceAddressPoolsResult();
+				int getPageSize()const;
+				int getPageNumber()const;
+				int getTotalPages()const;
+				int getTotalItems()const;
+				std::vector<AddrPool> getAddrPools()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNumber_;
+				int totalPages_;
+				int totalItems_;
+				std::vector<AddrPool> addrPools_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEADDRESSPOOLSRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceRequest.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_DESCRIBEGTMINSTANCEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEREQUEST_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 DescribeGtmInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmInstanceRequest();
+				~DescribeGtmInstanceRequest();
+
+				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 instanceId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCEREQUEST_H_

+ 73 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCERESULT_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 DescribeGtmInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeGtmInstanceResult();
+				explicit DescribeGtmInstanceResult(const std::string &payload);
+				~DescribeGtmInstanceResult();
+				std::string getInstanceName()const;
+				std::string getVersionCode()const;
+				long getExpireTimestamp()const;
+				std::string getUserDomainName()const;
+				std::string getAlertGroup()const;
+				std::string getLbaStrategy()const;
+				std::string getInstanceId()const;
+				std::string getCreateTime()const;
+				std::string getExpireTime()const;
+				std::string getCname()const;
+				int getTtl()const;
+				long getCreateTimestamp()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string instanceName_;
+				std::string versionCode_;
+				long expireTimestamp_;
+				std::string userDomainName_;
+				std::string alertGroup_;
+				std::string lbaStrategy_;
+				std::string instanceId_;
+				std::string createTime_;
+				std::string expireTime_;
+				std::string cname_;
+				int ttl_;
+				long createTimestamp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCERESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceStatusRequest.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_DESCRIBEGTMINSTANCESTATUSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESTATUSREQUEST_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 DescribeGtmInstanceStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmInstanceStatusRequest();
+				~DescribeGtmInstanceStatusRequest();
+
+				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 instanceId_;
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESTATUSREQUEST_H_

+ 53 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstanceStatusResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESTATUSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESTATUSRESULT_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 DescribeGtmInstanceStatusResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeGtmInstanceStatusResult();
+				explicit DescribeGtmInstanceStatusResult(const std::string &payload);
+				~DescribeGtmInstanceStatusResult();
+				std::string getAlertStatus()const;
+				std::string getAccessStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string alertStatus_;
+				std::string accessStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESTATUSRESULT_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstancesRequest.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_DESCRIBEGTMINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESREQUEST_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 DescribeGtmInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmInstancesRequest();
+				~DescribeGtmInstancesRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKeyword()const;
+				void setKeyword(const std::string& keyword);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+
+            private:
+				std::string userClientIp_;
+				int pageSize_;
+				std::string lang_;
+				std::string keyword_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESREQUEST_H_

+ 74 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmInstancesResult.h

@@ -0,0 +1,74 @@
+/*
+ * 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_DESCRIBEGTMINSTANCESRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESRESULT_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 DescribeGtmInstancesResult : public ServiceResult
+			{
+			public:
+				struct GtmInstance
+				{
+					std::string instanceName;
+					std::string versionCode;
+					long expireTimestamp;
+					std::string userDomainName;
+					std::string alertGroup;
+					std::string lbaStrategy;
+					std::string instanceId;
+					std::string createTime;
+					std::string expireTime;
+					std::string cname;
+					int ttl;
+					long createTimestamp;
+				};
+
+
+				DescribeGtmInstancesResult();
+				explicit DescribeGtmInstancesResult(const std::string &payload);
+				~DescribeGtmInstancesResult();
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<GtmInstance> getGtmInstances()const;
+				int getTotalPages()const;
+				int getTotalItems()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNumber_;
+				std::vector<GtmInstance> gtmInstances_;
+				int totalPages_;
+				int totalItems_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMINSTANCESRESULT_H_

+ 69 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmLogsRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMLOGSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMLOGSREQUEST_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 DescribeGtmLogsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmLogsRequest();
+				~DescribeGtmLogsRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKeyword()const;
+				void setKeyword(const std::string& keyword);
+				long getStartTimestamp()const;
+				void setStartTimestamp(long startTimestamp);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				long getEndTimestamp()const;
+				void setEndTimestamp(long endTimestamp);
+
+            private:
+				std::string instanceId_;
+				std::string userClientIp_;
+				int pageSize_;
+				std::string lang_;
+				std::string keyword_;
+				long startTimestamp_;
+				int pageNumber_;
+				long endTimestamp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMLOGSREQUEST_H_

+ 71 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmLogsResult.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_DESCRIBEGTMLOGSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMLOGSRESULT_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 DescribeGtmLogsResult : public ServiceResult
+			{
+			public:
+				struct Log
+				{
+					std::string entityType;
+					std::string entityId;
+					std::string entityName;
+					std::string operTime;
+					std::string content;
+					long operTimestamp;
+					long id;
+					std::string operIp;
+					std::string operAction;
+				};
+
+
+				DescribeGtmLogsResult();
+				explicit DescribeGtmLogsResult(const std::string &payload);
+				~DescribeGtmLogsResult();
+				int getPageSize()const;
+				int getPageNumber()const;
+				int getTotalPages()const;
+				std::vector<Log> getLogs()const;
+				int getTotalItems()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNumber_;
+				int totalPages_;
+				std::vector<Log> logs_;
+				int totalItems_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMLOGSRESULT_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorAvailableConfigRequest.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_DESCRIBEGTMMONITORAVAILABLECONFIGREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORAVAILABLECONFIGREQUEST_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 DescribeGtmMonitorAvailableConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmMonitorAvailableConfigRequest();
+				~DescribeGtmMonitorAvailableConfigRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string userClientIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORAVAILABLECONFIGREQUEST_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorAvailableConfigResult.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_DESCRIBEGTMMONITORAVAILABLECONFIGRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORAVAILABLECONFIGRESULT_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 DescribeGtmMonitorAvailableConfigResult : public ServiceResult
+			{
+			public:
+				struct IspCityNode
+				{
+					std::string cityCode;
+					bool mainland;
+					std::string ispName;
+					std::string cityName;
+					std::string ispCode;
+					bool defaultSelected;
+				};
+
+
+				DescribeGtmMonitorAvailableConfigResult();
+				explicit DescribeGtmMonitorAvailableConfigResult(const std::string &payload);
+				~DescribeGtmMonitorAvailableConfigResult();
+				std::vector<IspCityNode> getIspCityNodes()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<IspCityNode> ispCityNodes_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORAVAILABLECONFIGRESULT_H_

+ 54 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorConfigRequest.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_DESCRIBEGTMMONITORCONFIGREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORCONFIGREQUEST_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 DescribeGtmMonitorConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGtmMonitorConfigRequest();
+				~DescribeGtmMonitorConfigRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getMonitorConfigId()const;
+				void setMonitorConfigId(const std::string& monitorConfigId);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string userClientIp_;
+				std::string monitorConfigId_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORCONFIGREQUEST_H_

+ 80 - 0
alidns/include/alibabacloud/alidns/model/DescribeGtmMonitorConfigResult.h

@@ -0,0 +1,80 @@
+/*
+ * 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_DESCRIBEGTMMONITORCONFIGRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORCONFIGRESULT_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 DescribeGtmMonitorConfigResult : public ServiceResult
+			{
+			public:
+				struct IspCityNode
+				{
+					std::string cityCode;
+					std::string countryName;
+					std::string cityName;
+					std::string countryCode;
+				};
+
+
+				DescribeGtmMonitorConfigResult();
+				explicit DescribeGtmMonitorConfigResult(const std::string &payload);
+				~DescribeGtmMonitorConfigResult();
+				std::vector<IspCityNode> getIspCityNodes()const;
+				std::string getProtocolType()const;
+				int getTimeout()const;
+				std::string getCreateTime()const;
+				std::string getUpdateTime()const;
+				int getEvaluationCount()const;
+				long getUpdateTimestamp()const;
+				std::string getMonitorExtendInfo()const;
+				std::string getMonitorConfigId()const;
+				long getCreateTimestamp()const;
+				std::string getName()const;
+				int getInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<IspCityNode> ispCityNodes_;
+				std::string protocolType_;
+				int timeout_;
+				std::string createTime_;
+				std::string updateTime_;
+				int evaluationCount_;
+				long updateTimestamp_;
+				std::string monitorExtendInfo_;
+				std::string monitorConfigId_;
+				long createTimestamp_;
+				std::string name_;
+				int interval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEGTMMONITORCONFIGRESULT_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/DescribeRecordLogsRequest.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_DESCRIBERECORDLOGSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBERECORDLOGSREQUEST_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 DescribeRecordLogsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRecordLogsRequest();
+				~DescribeRecordLogsRequest();
+
+				std::string getEndDate()const;
+				void setEndDate(const std::string& endDate);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				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);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string endDate_;
+				std::string userClientIp_;
+				std::string domainName_;
+				long pageSize_;
+				std::string lang_;
+				std::string keyWord_;
+				std::string startDate_;
+				long pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBERECORDLOGSREQUEST_H_

+ 65 - 0
alidns/include/alibabacloud/alidns/model/DescribeRecordLogsResult.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_DESCRIBERECORDLOGSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBERECORDLOGSRESULT_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 DescribeRecordLogsResult : public ServiceResult
+			{
+			public:
+				struct RecordLog
+				{
+					std::string actionTime;
+					std::string action;
+					std::string message;
+					long actionTimestamp;
+					std::string clientIp;
+				};
+
+
+				DescribeRecordLogsResult();
+				explicit DescribeRecordLogsResult(const std::string &payload);
+				~DescribeRecordLogsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<RecordLog> getRecordLogs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<RecordLog> recordLogs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBERECORDLOGSRESULT_H_

+ 69 - 0
alidns/include/alibabacloud/alidns/model/DescribeSubDomainRecordsRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUBDOMAINRECORDSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUBDOMAINRECORDSREQUEST_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 DescribeSubDomainRecordsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSubDomainRecordsRequest();
+				~DescribeSubDomainRecordsRequest();
+
+				std::string getLine()const;
+				void setLine(const std::string& line);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				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);
+				std::string getType()const;
+				void setType(const std::string& type);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string line_;
+				std::string userClientIp_;
+				long pageSize_;
+				std::string subDomain_;
+				std::string lang_;
+				std::string type_;
+				long pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUBDOMAINRECORDSREQUEST_H_

+ 71 - 0
alidns/include/alibabacloud/alidns/model/DescribeSubDomainRecordsResult.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_DESCRIBESUBDOMAINRECORDSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUBDOMAINRECORDSRESULT_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 DescribeSubDomainRecordsResult : public ServiceResult
+			{
+			public:
+				struct Record
+				{
+					std::string rR;
+					std::string line;
+					std::string status;
+					bool locked;
+					std::string type;
+					std::string domainName;
+					long priority;
+					std::string value;
+					std::string recordId;
+					long tTL;
+					int weight;
+				};
+
+
+				DescribeSubDomainRecordsResult();
+				explicit DescribeSubDomainRecordsResult(const std::string &payload);
+				~DescribeSubDomainRecordsResult();
+				long getTotalCount()const;
+				std::vector<Record> getDomainRecords()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				std::vector<Record> domainRecords_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUBDOMAINRECORDSRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/DescribeSupportLinesRequest.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_DESCRIBESUPPORTLINESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUPPORTLINESREQUEST_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 DescribeSupportLinesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSupportLinesRequest();
+				~DescribeSupportLinesRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUPPORTLINESREQUEST_H_

+ 58 - 0
alidns/include/alibabacloud/alidns/model/DescribeSupportLinesResult.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_DESCRIBESUPPORTLINESRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUPPORTLINESRESULT_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 DescribeSupportLinesResult : public ServiceResult
+			{
+			public:
+				struct RecordLine
+				{
+					std::string fatherCode;
+					std::string lineDisplayName;
+					std::string lineCode;
+					std::string lineName;
+				};
+
+
+				DescribeSupportLinesResult();
+				explicit DescribeSupportLinesResult(const std::string &payload);
+				~DescribeSupportLinesResult();
+				std::vector<RecordLine> getRecordLines()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<RecordLine> recordLines_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBESUPPORTLINESRESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/GetMainDomainNameRequest.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_GETMAINDOMAINNAMEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_GETMAINDOMAINNAMEREQUEST_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 GetMainDomainNameRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetMainDomainNameRequest();
+				~GetMainDomainNameRequest();
+
+				std::string getInputString()const;
+				void setInputString(const std::string& inputString);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string inputString_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_GETMAINDOMAINNAMEREQUEST_H_

+ 55 - 0
alidns/include/alibabacloud/alidns/model/GetMainDomainNameResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_GETMAINDOMAINNAMERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_GETMAINDOMAINNAMERESULT_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 GetMainDomainNameResult : public ServiceResult
+			{
+			public:
+
+
+				GetMainDomainNameResult();
+				explicit GetMainDomainNameResult(const std::string &payload);
+				~GetMainDomainNameResult();
+				std::string getRR()const;
+				std::string getDomainName()const;
+				long getDomainLevel()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string rR_;
+				std::string domainName_;
+				long domainLevel_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_GETMAINDOMAINNAMERESULT_H_

+ 57 - 0
alidns/include/alibabacloud/alidns/model/ModifyHichinaDomainDNSRequest.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_MODIFYHICHINADOMAINDNSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_MODIFYHICHINADOMAINDNSREQUEST_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 ModifyHichinaDomainDNSRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyHichinaDomainDNSRequest();
+				~ModifyHichinaDomainDNSRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string userClientIp_;
+				std::string domainName_;
+				std::string lang_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_MODIFYHICHINADOMAINDNSREQUEST_H_

+ 53 - 0
alidns/include/alibabacloud/alidns/model/ModifyHichinaDomainDNSResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_MODIFYHICHINADOMAINDNSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_MODIFYHICHINADOMAINDNSRESULT_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 ModifyHichinaDomainDNSResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyHichinaDomainDNSResult();
+				explicit ModifyHichinaDomainDNSResult(const std::string &payload);
+				~ModifyHichinaDomainDNSResult();
+				std::vector<std::string> getNewDnsServers()const;
+				std::vector<std::string> getOriginalDnsServers()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> newDnsServers_;
+				std::vector<std::string> originalDnsServers_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_MODIFYHICHINADOMAINDNSRESULT_H_

+ 67 - 0
alidns/include/alibabacloud/alidns/model/OperateBatchDomainRequest.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_OPERATEBATCHDOMAINREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_OPERATEBATCHDOMAINREQUEST_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 OperateBatchDomainRequest : public RpcServiceRequest
+			{
+				struct DomainRecordInfo
+				{
+					std::string rr;
+					std::string line;
+					std::string domain;
+					std::string type;
+					int priority;
+					std::string value;
+					int ttl;
+				};
+
+			public:
+				OperateBatchDomainRequest();
+				~OperateBatchDomainRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::vector<DomainRecordInfo> getDomainRecordInfo()const;
+				void setDomainRecordInfo(const std::vector<DomainRecordInfo>& domainRecordInfo);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+
+            private:
+				std::string userClientIp_;
+				std::vector<DomainRecordInfo> domainRecordInfo_;
+				std::string lang_;
+				std::string type_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_OPERATEBATCHDOMAINREQUEST_H_

+ 51 - 0
alidns/include/alibabacloud/alidns/model/OperateBatchDomainResult.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_OPERATEBATCHDOMAINRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_OPERATEBATCHDOMAINRESULT_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 OperateBatchDomainResult : public ServiceResult
+			{
+			public:
+
+
+				OperateBatchDomainResult();
+				explicit OperateBatchDomainResult(const std::string &payload);
+				~OperateBatchDomainResult();
+				long getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_OPERATEBATCHDOMAINRESULT_H_

+ 63 - 0
alidns/include/alibabacloud/alidns/model/QueryCreateInstancePriceRequest.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_QUERYCREATEINSTANCEPRICEREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_QUERYCREATEINSTANCEPRICEREQUEST_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 QueryCreateInstancePriceRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryCreateInstancePriceRequest();
+				~QueryCreateInstancePriceRequest();
+
+				int getMonth()const;
+				void setMonth(int month);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getInstanceVersion()const;
+				void setInstanceVersion(const std::string& instanceVersion);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int month_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::string instanceVersion_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_QUERYCREATEINSTANCEPRICEREQUEST_H_

+ 65 - 0
alidns/include/alibabacloud/alidns/model/QueryCreateInstancePriceResult.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_QUERYCREATEINSTANCEPRICERESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_QUERYCREATEINSTANCEPRICERESULT_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 QueryCreateInstancePriceResult : public ServiceResult
+			{
+			public:
+				struct Rule
+				{
+					long ruleId;
+					std::string title;
+					std::string name;
+				};
+
+
+				QueryCreateInstancePriceResult();
+				explicit QueryCreateInstancePriceResult(const std::string &payload);
+				~QueryCreateInstancePriceResult();
+				std::string getOrigin()const;
+				std::string getDiscount()const;
+				std::string getAmount()const;
+				std::string getCurrency()const;
+				std::vector<Rule> getRules()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string origin_;
+				std::string discount_;
+				std::string amount_;
+				std::string currency_;
+				std::vector<Rule> rules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_QUERYCREATEINSTANCEPRICERESULT_H_

Some files were not shown because too many files changed in this diff