Browse Source

Supported ACL for SMB.

sdk-team 4 years ago
parent
commit
3a799926cc
100 changed files with 6719 additions and 1 deletions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 446 0
      nas/CMakeLists.txt
  4. 774 0
      nas/include/alibabacloud/nas/NASClient.h
  5. 32 0
      nas/include/alibabacloud/nas/NASExport.h
  6. 57 0
      nas/include/alibabacloud/nas/model/AddClientToBlackListRequest.h
  7. 49 0
      nas/include/alibabacloud/nas/model/AddClientToBlackListResult.h
  8. 57 0
      nas/include/alibabacloud/nas/model/AddTagsRequest.h
  9. 49 0
      nas/include/alibabacloud/nas/model/AddTagsResult.h
  10. 51 0
      nas/include/alibabacloud/nas/model/ApplyAutoSnapshotPolicyRequest.h
  11. 49 0
      nas/include/alibabacloud/nas/model/ApplyAutoSnapshotPolicyResult.h
  12. 71 0
      nas/include/alibabacloud/nas/model/ApplyDataFlowAutoRefreshRequest.h
  13. 49 0
      nas/include/alibabacloud/nas/model/ApplyDataFlowAutoRefreshResult.h
  14. 48 0
      nas/include/alibabacloud/nas/model/CancelAutoSnapshotPolicyRequest.h
  15. 49 0
      nas/include/alibabacloud/nas/model/CancelAutoSnapshotPolicyResult.h
  16. 60 0
      nas/include/alibabacloud/nas/model/CancelDataFlowAutoRefreshRequest.h
  17. 49 0
      nas/include/alibabacloud/nas/model/CancelDataFlowAutoRefreshResult.h
  18. 60 0
      nas/include/alibabacloud/nas/model/CancelDataFlowTaskRequest.h
  19. 49 0
      nas/include/alibabacloud/nas/model/CancelDataFlowTaskResult.h
  20. 57 0
      nas/include/alibabacloud/nas/model/CancelDirQuotaRequest.h
  21. 51 0
      nas/include/alibabacloud/nas/model/CancelDirQuotaResult.h
  22. 48 0
      nas/include/alibabacloud/nas/model/CancelLifecycleRetrieveJobRequest.h
  23. 49 0
      nas/include/alibabacloud/nas/model/CancelLifecycleRetrieveJobResult.h
  24. 48 0
      nas/include/alibabacloud/nas/model/CancelRecycleBinJobRequest.h
  25. 49 0
      nas/include/alibabacloud/nas/model/CancelRecycleBinJobResult.h
  26. 57 0
      nas/include/alibabacloud/nas/model/CreateAccessGroupRequest.h
  27. 51 0
      nas/include/alibabacloud/nas/model/CreateAccessGroupResult.h
  28. 66 0
      nas/include/alibabacloud/nas/model/CreateAccessRuleRequest.h
  29. 51 0
      nas/include/alibabacloud/nas/model/CreateAccessRuleResult.h
  30. 60 0
      nas/include/alibabacloud/nas/model/CreateAutoSnapshotPolicyRequest.h
  31. 51 0
      nas/include/alibabacloud/nas/model/CreateAutoSnapshotPolicyResult.h
  32. 83 0
      nas/include/alibabacloud/nas/model/CreateDataFlowRequest.h
  33. 51 0
      nas/include/alibabacloud/nas/model/CreateDataFlowResult.h
  34. 72 0
      nas/include/alibabacloud/nas/model/CreateDataFlowTaskRequest.h
  35. 51 0
      nas/include/alibabacloud/nas/model/CreateDataFlowTaskResult.h
  36. 93 0
      nas/include/alibabacloud/nas/model/CreateFileSystemRequest.h
  37. 51 0
      nas/include/alibabacloud/nas/model/CreateFileSystemResult.h
  38. 60 0
      nas/include/alibabacloud/nas/model/CreateFilesetRequest.h
  39. 51 0
      nas/include/alibabacloud/nas/model/CreateFilesetResult.h
  40. 57 0
      nas/include/alibabacloud/nas/model/CreateLDAPConfigRequest.h
  41. 49 0
      nas/include/alibabacloud/nas/model/CreateLDAPConfigResult.h
  42. 63 0
      nas/include/alibabacloud/nas/model/CreateLifecyclePolicyRequest.h
  43. 51 0
      nas/include/alibabacloud/nas/model/CreateLifecyclePolicyResult.h
  44. 51 0
      nas/include/alibabacloud/nas/model/CreateLifecycleRetrieveJobRequest.h
  45. 51 0
      nas/include/alibabacloud/nas/model/CreateLifecycleRetrieveJobResult.h
  46. 69 0
      nas/include/alibabacloud/nas/model/CreateMountTargetRequest.h
  47. 57 0
      nas/include/alibabacloud/nas/model/CreateMountTargetResult.h
  48. 54 0
      nas/include/alibabacloud/nas/model/CreateRecycleBinDeleteJobRequest.h
  49. 51 0
      nas/include/alibabacloud/nas/model/CreateRecycleBinDeleteJobResult.h
  50. 57 0
      nas/include/alibabacloud/nas/model/CreateRecycleBinRestoreJobRequest.h
  51. 51 0
      nas/include/alibabacloud/nas/model/CreateRecycleBinRestoreJobResult.h
  52. 57 0
      nas/include/alibabacloud/nas/model/CreateSnapshotRequest.h
  53. 51 0
      nas/include/alibabacloud/nas/model/CreateSnapshotResult.h
  54. 51 0
      nas/include/alibabacloud/nas/model/DeleteAccessGroupRequest.h
  55. 49 0
      nas/include/alibabacloud/nas/model/DeleteAccessGroupResult.h
  56. 54 0
      nas/include/alibabacloud/nas/model/DeleteAccessRuleRequest.h
  57. 49 0
      nas/include/alibabacloud/nas/model/DeleteAccessRuleResult.h
  58. 48 0
      nas/include/alibabacloud/nas/model/DeleteAutoSnapshotPolicyRequest.h
  59. 49 0
      nas/include/alibabacloud/nas/model/DeleteAutoSnapshotPolicyResult.h
  60. 57 0
      nas/include/alibabacloud/nas/model/DeleteDataFlowRequest.h
  61. 49 0
      nas/include/alibabacloud/nas/model/DeleteDataFlowResult.h
  62. 48 0
      nas/include/alibabacloud/nas/model/DeleteFileSystemRequest.h
  63. 49 0
      nas/include/alibabacloud/nas/model/DeleteFileSystemResult.h
  64. 57 0
      nas/include/alibabacloud/nas/model/DeleteFilesetRequest.h
  65. 49 0
      nas/include/alibabacloud/nas/model/DeleteFilesetResult.h
  66. 48 0
      nas/include/alibabacloud/nas/model/DeleteLDAPConfigRequest.h
  67. 49 0
      nas/include/alibabacloud/nas/model/DeleteLDAPConfigResult.h
  68. 51 0
      nas/include/alibabacloud/nas/model/DeleteLifecyclePolicyRequest.h
  69. 51 0
      nas/include/alibabacloud/nas/model/DeleteLifecyclePolicyResult.h
  70. 51 0
      nas/include/alibabacloud/nas/model/DeleteMountTargetRequest.h
  71. 49 0
      nas/include/alibabacloud/nas/model/DeleteMountTargetResult.h
  72. 48 0
      nas/include/alibabacloud/nas/model/DeleteSnapshotRequest.h
  73. 49 0
      nas/include/alibabacloud/nas/model/DeleteSnapshotResult.h
  74. 60 0
      nas/include/alibabacloud/nas/model/DescribeAccessGroupsRequest.h
  75. 72 0
      nas/include/alibabacloud/nas/model/DescribeAccessGroupsResult.h
  76. 66 0
      nas/include/alibabacloud/nas/model/DescribeAccessRulesRequest.h
  77. 66 0
      nas/include/alibabacloud/nas/model/DescribeAccessRulesResult.h
  78. 57 0
      nas/include/alibabacloud/nas/model/DescribeAutoSnapshotPoliciesRequest.h
  79. 69 0
      nas/include/alibabacloud/nas/model/DescribeAutoSnapshotPoliciesResult.h
  80. 60 0
      nas/include/alibabacloud/nas/model/DescribeAutoSnapshotTasksRequest.h
  81. 62 0
      nas/include/alibabacloud/nas/model/DescribeAutoSnapshotTasksResult.h
  82. 54 0
      nas/include/alibabacloud/nas/model/DescribeBlackListClientsRequest.h
  83. 51 0
      nas/include/alibabacloud/nas/model/DescribeBlackListClientsResult.h
  84. 63 0
      nas/include/alibabacloud/nas/model/DescribeDataFlowTasksRequest.h
  85. 71 0
      nas/include/alibabacloud/nas/model/DescribeDataFlowTasksResult.h
  86. 63 0
      nas/include/alibabacloud/nas/model/DescribeDataFlowsRequest.h
  87. 76 0
      nas/include/alibabacloud/nas/model/DescribeDataFlowsResult.h
  88. 57 0
      nas/include/alibabacloud/nas/model/DescribeDirQuotasRequest.h
  89. 74 0
      nas/include/alibabacloud/nas/model/DescribeDirQuotasResult.h
  90. 51 0
      nas/include/alibabacloud/nas/model/DescribeFileSystemStatisticsRequest.h
  91. 92 0
      nas/include/alibabacloud/nas/model/DescribeFileSystemStatisticsResult.h
  92. 93 0
      nas/include/alibabacloud/nas/model/DescribeFileSystemsRequest.h
  93. 128 0
      nas/include/alibabacloud/nas/model/DescribeFileSystemsResult.h
  94. 63 0
      nas/include/alibabacloud/nas/model/DescribeFilesetsRequest.h
  95. 64 0
      nas/include/alibabacloud/nas/model/DescribeFilesetsResult.h
  96. 48 0
      nas/include/alibabacloud/nas/model/DescribeLDAPConfigRequest.h
  97. 57 0
      nas/include/alibabacloud/nas/model/DescribeLDAPConfigResult.h
  98. 54 0
      nas/include/alibabacloud/nas/model/DescribeLifecyclePoliciesRequest.h
  99. 67 0
      nas/include/alibabacloud/nas/model/DescribeLifecyclePoliciesResult.h
  100. 54 0
      nas/include/alibabacloud/nas/model/DescribeLogAnalysisRequest.h

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-12-17 Version: 1.36.983
+- Supported ACL for SMB.
+
 2021-12-16 Version: 1.36.982
 - Release for sprint 2_2_0.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.982
+1.36.983

+ 446 - 0
nas/CMakeLists.txt

@@ -0,0 +1,446 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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(nas_public_header 
+	include/alibabacloud/nas/NASClient.h
+	include/alibabacloud/nas/NASExport.h )
+
+set(nas_public_header_model 
+	include/alibabacloud/nas/model/AddClientToBlackListRequest.h
+	include/alibabacloud/nas/model/AddClientToBlackListResult.h
+	include/alibabacloud/nas/model/AddTagsRequest.h
+	include/alibabacloud/nas/model/AddTagsResult.h
+	include/alibabacloud/nas/model/ApplyAutoSnapshotPolicyRequest.h
+	include/alibabacloud/nas/model/ApplyAutoSnapshotPolicyResult.h
+	include/alibabacloud/nas/model/ApplyDataFlowAutoRefreshRequest.h
+	include/alibabacloud/nas/model/ApplyDataFlowAutoRefreshResult.h
+	include/alibabacloud/nas/model/CancelAutoSnapshotPolicyRequest.h
+	include/alibabacloud/nas/model/CancelAutoSnapshotPolicyResult.h
+	include/alibabacloud/nas/model/CancelDataFlowAutoRefreshRequest.h
+	include/alibabacloud/nas/model/CancelDataFlowAutoRefreshResult.h
+	include/alibabacloud/nas/model/CancelDataFlowTaskRequest.h
+	include/alibabacloud/nas/model/CancelDataFlowTaskResult.h
+	include/alibabacloud/nas/model/CancelDirQuotaRequest.h
+	include/alibabacloud/nas/model/CancelDirQuotaResult.h
+	include/alibabacloud/nas/model/CancelLifecycleRetrieveJobRequest.h
+	include/alibabacloud/nas/model/CancelLifecycleRetrieveJobResult.h
+	include/alibabacloud/nas/model/CancelRecycleBinJobRequest.h
+	include/alibabacloud/nas/model/CancelRecycleBinJobResult.h
+	include/alibabacloud/nas/model/CreateAccessGroupRequest.h
+	include/alibabacloud/nas/model/CreateAccessGroupResult.h
+	include/alibabacloud/nas/model/CreateAccessRuleRequest.h
+	include/alibabacloud/nas/model/CreateAccessRuleResult.h
+	include/alibabacloud/nas/model/CreateAutoSnapshotPolicyRequest.h
+	include/alibabacloud/nas/model/CreateAutoSnapshotPolicyResult.h
+	include/alibabacloud/nas/model/CreateDataFlowRequest.h
+	include/alibabacloud/nas/model/CreateDataFlowResult.h
+	include/alibabacloud/nas/model/CreateDataFlowTaskRequest.h
+	include/alibabacloud/nas/model/CreateDataFlowTaskResult.h
+	include/alibabacloud/nas/model/CreateFileSystemRequest.h
+	include/alibabacloud/nas/model/CreateFileSystemResult.h
+	include/alibabacloud/nas/model/CreateFilesetRequest.h
+	include/alibabacloud/nas/model/CreateFilesetResult.h
+	include/alibabacloud/nas/model/CreateLDAPConfigRequest.h
+	include/alibabacloud/nas/model/CreateLDAPConfigResult.h
+	include/alibabacloud/nas/model/CreateLifecyclePolicyRequest.h
+	include/alibabacloud/nas/model/CreateLifecyclePolicyResult.h
+	include/alibabacloud/nas/model/CreateLifecycleRetrieveJobRequest.h
+	include/alibabacloud/nas/model/CreateLifecycleRetrieveJobResult.h
+	include/alibabacloud/nas/model/CreateMountTargetRequest.h
+	include/alibabacloud/nas/model/CreateMountTargetResult.h
+	include/alibabacloud/nas/model/CreateRecycleBinDeleteJobRequest.h
+	include/alibabacloud/nas/model/CreateRecycleBinDeleteJobResult.h
+	include/alibabacloud/nas/model/CreateRecycleBinRestoreJobRequest.h
+	include/alibabacloud/nas/model/CreateRecycleBinRestoreJobResult.h
+	include/alibabacloud/nas/model/CreateSnapshotRequest.h
+	include/alibabacloud/nas/model/CreateSnapshotResult.h
+	include/alibabacloud/nas/model/DeleteAccessGroupRequest.h
+	include/alibabacloud/nas/model/DeleteAccessGroupResult.h
+	include/alibabacloud/nas/model/DeleteAccessRuleRequest.h
+	include/alibabacloud/nas/model/DeleteAccessRuleResult.h
+	include/alibabacloud/nas/model/DeleteAutoSnapshotPolicyRequest.h
+	include/alibabacloud/nas/model/DeleteAutoSnapshotPolicyResult.h
+	include/alibabacloud/nas/model/DeleteDataFlowRequest.h
+	include/alibabacloud/nas/model/DeleteDataFlowResult.h
+	include/alibabacloud/nas/model/DeleteFileSystemRequest.h
+	include/alibabacloud/nas/model/DeleteFileSystemResult.h
+	include/alibabacloud/nas/model/DeleteFilesetRequest.h
+	include/alibabacloud/nas/model/DeleteFilesetResult.h
+	include/alibabacloud/nas/model/DeleteLDAPConfigRequest.h
+	include/alibabacloud/nas/model/DeleteLDAPConfigResult.h
+	include/alibabacloud/nas/model/DeleteLifecyclePolicyRequest.h
+	include/alibabacloud/nas/model/DeleteLifecyclePolicyResult.h
+	include/alibabacloud/nas/model/DeleteMountTargetRequest.h
+	include/alibabacloud/nas/model/DeleteMountTargetResult.h
+	include/alibabacloud/nas/model/DeleteSnapshotRequest.h
+	include/alibabacloud/nas/model/DeleteSnapshotResult.h
+	include/alibabacloud/nas/model/DescribeAccessGroupsRequest.h
+	include/alibabacloud/nas/model/DescribeAccessGroupsResult.h
+	include/alibabacloud/nas/model/DescribeAccessRulesRequest.h
+	include/alibabacloud/nas/model/DescribeAccessRulesResult.h
+	include/alibabacloud/nas/model/DescribeAutoSnapshotPoliciesRequest.h
+	include/alibabacloud/nas/model/DescribeAutoSnapshotPoliciesResult.h
+	include/alibabacloud/nas/model/DescribeAutoSnapshotTasksRequest.h
+	include/alibabacloud/nas/model/DescribeAutoSnapshotTasksResult.h
+	include/alibabacloud/nas/model/DescribeBlackListClientsRequest.h
+	include/alibabacloud/nas/model/DescribeBlackListClientsResult.h
+	include/alibabacloud/nas/model/DescribeDataFlowTasksRequest.h
+	include/alibabacloud/nas/model/DescribeDataFlowTasksResult.h
+	include/alibabacloud/nas/model/DescribeDataFlowsRequest.h
+	include/alibabacloud/nas/model/DescribeDataFlowsResult.h
+	include/alibabacloud/nas/model/DescribeDirQuotasRequest.h
+	include/alibabacloud/nas/model/DescribeDirQuotasResult.h
+	include/alibabacloud/nas/model/DescribeFileSystemStatisticsRequest.h
+	include/alibabacloud/nas/model/DescribeFileSystemStatisticsResult.h
+	include/alibabacloud/nas/model/DescribeFileSystemsRequest.h
+	include/alibabacloud/nas/model/DescribeFileSystemsResult.h
+	include/alibabacloud/nas/model/DescribeFilesetsRequest.h
+	include/alibabacloud/nas/model/DescribeFilesetsResult.h
+	include/alibabacloud/nas/model/DescribeLDAPConfigRequest.h
+	include/alibabacloud/nas/model/DescribeLDAPConfigResult.h
+	include/alibabacloud/nas/model/DescribeLifecyclePoliciesRequest.h
+	include/alibabacloud/nas/model/DescribeLifecyclePoliciesResult.h
+	include/alibabacloud/nas/model/DescribeLogAnalysisRequest.h
+	include/alibabacloud/nas/model/DescribeLogAnalysisResult.h
+	include/alibabacloud/nas/model/DescribeMountTargetsRequest.h
+	include/alibabacloud/nas/model/DescribeMountTargetsResult.h
+	include/alibabacloud/nas/model/DescribeMountedClientsRequest.h
+	include/alibabacloud/nas/model/DescribeMountedClientsResult.h
+	include/alibabacloud/nas/model/DescribeRegionsRequest.h
+	include/alibabacloud/nas/model/DescribeRegionsResult.h
+	include/alibabacloud/nas/model/DescribeSmbAclRequest.h
+	include/alibabacloud/nas/model/DescribeSmbAclResult.h
+	include/alibabacloud/nas/model/DescribeSnapshotsRequest.h
+	include/alibabacloud/nas/model/DescribeSnapshotsResult.h
+	include/alibabacloud/nas/model/DescribeStoragePackagesRequest.h
+	include/alibabacloud/nas/model/DescribeStoragePackagesResult.h
+	include/alibabacloud/nas/model/DescribeTagsRequest.h
+	include/alibabacloud/nas/model/DescribeTagsResult.h
+	include/alibabacloud/nas/model/DescribeZonesRequest.h
+	include/alibabacloud/nas/model/DescribeZonesResult.h
+	include/alibabacloud/nas/model/DisableAndCleanRecycleBinRequest.h
+	include/alibabacloud/nas/model/DisableAndCleanRecycleBinResult.h
+	include/alibabacloud/nas/model/DisableSmbAclRequest.h
+	include/alibabacloud/nas/model/DisableSmbAclResult.h
+	include/alibabacloud/nas/model/EnableRecycleBinRequest.h
+	include/alibabacloud/nas/model/EnableRecycleBinResult.h
+	include/alibabacloud/nas/model/EnableSmbAclRequest.h
+	include/alibabacloud/nas/model/EnableSmbAclResult.h
+	include/alibabacloud/nas/model/GetDirectoryOrFilePropertiesRequest.h
+	include/alibabacloud/nas/model/GetDirectoryOrFilePropertiesResult.h
+	include/alibabacloud/nas/model/GetRecycleBinAttributeRequest.h
+	include/alibabacloud/nas/model/GetRecycleBinAttributeResult.h
+	include/alibabacloud/nas/model/ListDirectoriesAndFilesRequest.h
+	include/alibabacloud/nas/model/ListDirectoriesAndFilesResult.h
+	include/alibabacloud/nas/model/ListLifecycleRetrieveJobsRequest.h
+	include/alibabacloud/nas/model/ListLifecycleRetrieveJobsResult.h
+	include/alibabacloud/nas/model/ListRecentlyRecycledDirectoriesRequest.h
+	include/alibabacloud/nas/model/ListRecentlyRecycledDirectoriesResult.h
+	include/alibabacloud/nas/model/ListRecycleBinJobsRequest.h
+	include/alibabacloud/nas/model/ListRecycleBinJobsResult.h
+	include/alibabacloud/nas/model/ListRecycledDirectoriesAndFilesRequest.h
+	include/alibabacloud/nas/model/ListRecycledDirectoriesAndFilesResult.h
+	include/alibabacloud/nas/model/ListTagResourcesRequest.h
+	include/alibabacloud/nas/model/ListTagResourcesResult.h
+	include/alibabacloud/nas/model/ModifyAccessGroupRequest.h
+	include/alibabacloud/nas/model/ModifyAccessGroupResult.h
+	include/alibabacloud/nas/model/ModifyAccessRuleRequest.h
+	include/alibabacloud/nas/model/ModifyAccessRuleResult.h
+	include/alibabacloud/nas/model/ModifyAutoSnapshotPolicyRequest.h
+	include/alibabacloud/nas/model/ModifyAutoSnapshotPolicyResult.h
+	include/alibabacloud/nas/model/ModifyDataFlowRequest.h
+	include/alibabacloud/nas/model/ModifyDataFlowResult.h
+	include/alibabacloud/nas/model/ModifyDataFlowAutoRefreshRequest.h
+	include/alibabacloud/nas/model/ModifyDataFlowAutoRefreshResult.h
+	include/alibabacloud/nas/model/ModifyFileSystemRequest.h
+	include/alibabacloud/nas/model/ModifyFileSystemResult.h
+	include/alibabacloud/nas/model/ModifyFilesetRequest.h
+	include/alibabacloud/nas/model/ModifyFilesetResult.h
+	include/alibabacloud/nas/model/ModifyLDAPConfigRequest.h
+	include/alibabacloud/nas/model/ModifyLDAPConfigResult.h
+	include/alibabacloud/nas/model/ModifyLifecyclePolicyRequest.h
+	include/alibabacloud/nas/model/ModifyLifecyclePolicyResult.h
+	include/alibabacloud/nas/model/ModifyMountTargetRequest.h
+	include/alibabacloud/nas/model/ModifyMountTargetResult.h
+	include/alibabacloud/nas/model/ModifySmbAclRequest.h
+	include/alibabacloud/nas/model/ModifySmbAclResult.h
+	include/alibabacloud/nas/model/OpenNASServiceRequest.h
+	include/alibabacloud/nas/model/OpenNASServiceResult.h
+	include/alibabacloud/nas/model/RemoveClientFromBlackListRequest.h
+	include/alibabacloud/nas/model/RemoveClientFromBlackListResult.h
+	include/alibabacloud/nas/model/RemoveTagsRequest.h
+	include/alibabacloud/nas/model/RemoveTagsResult.h
+	include/alibabacloud/nas/model/ResetFileSystemRequest.h
+	include/alibabacloud/nas/model/ResetFileSystemResult.h
+	include/alibabacloud/nas/model/RetryLifecycleRetrieveJobRequest.h
+	include/alibabacloud/nas/model/RetryLifecycleRetrieveJobResult.h
+	include/alibabacloud/nas/model/SetDirQuotaRequest.h
+	include/alibabacloud/nas/model/SetDirQuotaResult.h
+	include/alibabacloud/nas/model/StartDataFlowRequest.h
+	include/alibabacloud/nas/model/StartDataFlowResult.h
+	include/alibabacloud/nas/model/StopDataFlowRequest.h
+	include/alibabacloud/nas/model/StopDataFlowResult.h
+	include/alibabacloud/nas/model/TagResourcesRequest.h
+	include/alibabacloud/nas/model/TagResourcesResult.h
+	include/alibabacloud/nas/model/UntagResourcesRequest.h
+	include/alibabacloud/nas/model/UntagResourcesResult.h
+	include/alibabacloud/nas/model/UpdateRecycleBinAttributeRequest.h
+	include/alibabacloud/nas/model/UpdateRecycleBinAttributeResult.h
+	include/alibabacloud/nas/model/UpgradeFileSystemRequest.h
+	include/alibabacloud/nas/model/UpgradeFileSystemResult.h )
+
+set(nas_src 
+	src/NASClient.cc
+	src/model/AddClientToBlackListRequest.cc
+	src/model/AddClientToBlackListResult.cc
+	src/model/AddTagsRequest.cc
+	src/model/AddTagsResult.cc
+	src/model/ApplyAutoSnapshotPolicyRequest.cc
+	src/model/ApplyAutoSnapshotPolicyResult.cc
+	src/model/ApplyDataFlowAutoRefreshRequest.cc
+	src/model/ApplyDataFlowAutoRefreshResult.cc
+	src/model/CancelAutoSnapshotPolicyRequest.cc
+	src/model/CancelAutoSnapshotPolicyResult.cc
+	src/model/CancelDataFlowAutoRefreshRequest.cc
+	src/model/CancelDataFlowAutoRefreshResult.cc
+	src/model/CancelDataFlowTaskRequest.cc
+	src/model/CancelDataFlowTaskResult.cc
+	src/model/CancelDirQuotaRequest.cc
+	src/model/CancelDirQuotaResult.cc
+	src/model/CancelLifecycleRetrieveJobRequest.cc
+	src/model/CancelLifecycleRetrieveJobResult.cc
+	src/model/CancelRecycleBinJobRequest.cc
+	src/model/CancelRecycleBinJobResult.cc
+	src/model/CreateAccessGroupRequest.cc
+	src/model/CreateAccessGroupResult.cc
+	src/model/CreateAccessRuleRequest.cc
+	src/model/CreateAccessRuleResult.cc
+	src/model/CreateAutoSnapshotPolicyRequest.cc
+	src/model/CreateAutoSnapshotPolicyResult.cc
+	src/model/CreateDataFlowRequest.cc
+	src/model/CreateDataFlowResult.cc
+	src/model/CreateDataFlowTaskRequest.cc
+	src/model/CreateDataFlowTaskResult.cc
+	src/model/CreateFileSystemRequest.cc
+	src/model/CreateFileSystemResult.cc
+	src/model/CreateFilesetRequest.cc
+	src/model/CreateFilesetResult.cc
+	src/model/CreateLDAPConfigRequest.cc
+	src/model/CreateLDAPConfigResult.cc
+	src/model/CreateLifecyclePolicyRequest.cc
+	src/model/CreateLifecyclePolicyResult.cc
+	src/model/CreateLifecycleRetrieveJobRequest.cc
+	src/model/CreateLifecycleRetrieveJobResult.cc
+	src/model/CreateMountTargetRequest.cc
+	src/model/CreateMountTargetResult.cc
+	src/model/CreateRecycleBinDeleteJobRequest.cc
+	src/model/CreateRecycleBinDeleteJobResult.cc
+	src/model/CreateRecycleBinRestoreJobRequest.cc
+	src/model/CreateRecycleBinRestoreJobResult.cc
+	src/model/CreateSnapshotRequest.cc
+	src/model/CreateSnapshotResult.cc
+	src/model/DeleteAccessGroupRequest.cc
+	src/model/DeleteAccessGroupResult.cc
+	src/model/DeleteAccessRuleRequest.cc
+	src/model/DeleteAccessRuleResult.cc
+	src/model/DeleteAutoSnapshotPolicyRequest.cc
+	src/model/DeleteAutoSnapshotPolicyResult.cc
+	src/model/DeleteDataFlowRequest.cc
+	src/model/DeleteDataFlowResult.cc
+	src/model/DeleteFileSystemRequest.cc
+	src/model/DeleteFileSystemResult.cc
+	src/model/DeleteFilesetRequest.cc
+	src/model/DeleteFilesetResult.cc
+	src/model/DeleteLDAPConfigRequest.cc
+	src/model/DeleteLDAPConfigResult.cc
+	src/model/DeleteLifecyclePolicyRequest.cc
+	src/model/DeleteLifecyclePolicyResult.cc
+	src/model/DeleteMountTargetRequest.cc
+	src/model/DeleteMountTargetResult.cc
+	src/model/DeleteSnapshotRequest.cc
+	src/model/DeleteSnapshotResult.cc
+	src/model/DescribeAccessGroupsRequest.cc
+	src/model/DescribeAccessGroupsResult.cc
+	src/model/DescribeAccessRulesRequest.cc
+	src/model/DescribeAccessRulesResult.cc
+	src/model/DescribeAutoSnapshotPoliciesRequest.cc
+	src/model/DescribeAutoSnapshotPoliciesResult.cc
+	src/model/DescribeAutoSnapshotTasksRequest.cc
+	src/model/DescribeAutoSnapshotTasksResult.cc
+	src/model/DescribeBlackListClientsRequest.cc
+	src/model/DescribeBlackListClientsResult.cc
+	src/model/DescribeDataFlowTasksRequest.cc
+	src/model/DescribeDataFlowTasksResult.cc
+	src/model/DescribeDataFlowsRequest.cc
+	src/model/DescribeDataFlowsResult.cc
+	src/model/DescribeDirQuotasRequest.cc
+	src/model/DescribeDirQuotasResult.cc
+	src/model/DescribeFileSystemStatisticsRequest.cc
+	src/model/DescribeFileSystemStatisticsResult.cc
+	src/model/DescribeFileSystemsRequest.cc
+	src/model/DescribeFileSystemsResult.cc
+	src/model/DescribeFilesetsRequest.cc
+	src/model/DescribeFilesetsResult.cc
+	src/model/DescribeLDAPConfigRequest.cc
+	src/model/DescribeLDAPConfigResult.cc
+	src/model/DescribeLifecyclePoliciesRequest.cc
+	src/model/DescribeLifecyclePoliciesResult.cc
+	src/model/DescribeLogAnalysisRequest.cc
+	src/model/DescribeLogAnalysisResult.cc
+	src/model/DescribeMountTargetsRequest.cc
+	src/model/DescribeMountTargetsResult.cc
+	src/model/DescribeMountedClientsRequest.cc
+	src/model/DescribeMountedClientsResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/DescribeSmbAclRequest.cc
+	src/model/DescribeSmbAclResult.cc
+	src/model/DescribeSnapshotsRequest.cc
+	src/model/DescribeSnapshotsResult.cc
+	src/model/DescribeStoragePackagesRequest.cc
+	src/model/DescribeStoragePackagesResult.cc
+	src/model/DescribeTagsRequest.cc
+	src/model/DescribeTagsResult.cc
+	src/model/DescribeZonesRequest.cc
+	src/model/DescribeZonesResult.cc
+	src/model/DisableAndCleanRecycleBinRequest.cc
+	src/model/DisableAndCleanRecycleBinResult.cc
+	src/model/DisableSmbAclRequest.cc
+	src/model/DisableSmbAclResult.cc
+	src/model/EnableRecycleBinRequest.cc
+	src/model/EnableRecycleBinResult.cc
+	src/model/EnableSmbAclRequest.cc
+	src/model/EnableSmbAclResult.cc
+	src/model/GetDirectoryOrFilePropertiesRequest.cc
+	src/model/GetDirectoryOrFilePropertiesResult.cc
+	src/model/GetRecycleBinAttributeRequest.cc
+	src/model/GetRecycleBinAttributeResult.cc
+	src/model/ListDirectoriesAndFilesRequest.cc
+	src/model/ListDirectoriesAndFilesResult.cc
+	src/model/ListLifecycleRetrieveJobsRequest.cc
+	src/model/ListLifecycleRetrieveJobsResult.cc
+	src/model/ListRecentlyRecycledDirectoriesRequest.cc
+	src/model/ListRecentlyRecycledDirectoriesResult.cc
+	src/model/ListRecycleBinJobsRequest.cc
+	src/model/ListRecycleBinJobsResult.cc
+	src/model/ListRecycledDirectoriesAndFilesRequest.cc
+	src/model/ListRecycledDirectoriesAndFilesResult.cc
+	src/model/ListTagResourcesRequest.cc
+	src/model/ListTagResourcesResult.cc
+	src/model/ModifyAccessGroupRequest.cc
+	src/model/ModifyAccessGroupResult.cc
+	src/model/ModifyAccessRuleRequest.cc
+	src/model/ModifyAccessRuleResult.cc
+	src/model/ModifyAutoSnapshotPolicyRequest.cc
+	src/model/ModifyAutoSnapshotPolicyResult.cc
+	src/model/ModifyDataFlowRequest.cc
+	src/model/ModifyDataFlowResult.cc
+	src/model/ModifyDataFlowAutoRefreshRequest.cc
+	src/model/ModifyDataFlowAutoRefreshResult.cc
+	src/model/ModifyFileSystemRequest.cc
+	src/model/ModifyFileSystemResult.cc
+	src/model/ModifyFilesetRequest.cc
+	src/model/ModifyFilesetResult.cc
+	src/model/ModifyLDAPConfigRequest.cc
+	src/model/ModifyLDAPConfigResult.cc
+	src/model/ModifyLifecyclePolicyRequest.cc
+	src/model/ModifyLifecyclePolicyResult.cc
+	src/model/ModifyMountTargetRequest.cc
+	src/model/ModifyMountTargetResult.cc
+	src/model/ModifySmbAclRequest.cc
+	src/model/ModifySmbAclResult.cc
+	src/model/OpenNASServiceRequest.cc
+	src/model/OpenNASServiceResult.cc
+	src/model/RemoveClientFromBlackListRequest.cc
+	src/model/RemoveClientFromBlackListResult.cc
+	src/model/RemoveTagsRequest.cc
+	src/model/RemoveTagsResult.cc
+	src/model/ResetFileSystemRequest.cc
+	src/model/ResetFileSystemResult.cc
+	src/model/RetryLifecycleRetrieveJobRequest.cc
+	src/model/RetryLifecycleRetrieveJobResult.cc
+	src/model/SetDirQuotaRequest.cc
+	src/model/SetDirQuotaResult.cc
+	src/model/StartDataFlowRequest.cc
+	src/model/StartDataFlowResult.cc
+	src/model/StopDataFlowRequest.cc
+	src/model/StopDataFlowResult.cc
+	src/model/TagResourcesRequest.cc
+	src/model/TagResourcesResult.cc
+	src/model/UntagResourcesRequest.cc
+	src/model/UntagResourcesResult.cc
+	src/model/UpdateRecycleBinAttributeRequest.cc
+	src/model/UpdateRecycleBinAttributeResult.cc
+	src/model/UpgradeFileSystemRequest.cc
+	src/model/UpgradeFileSystemResult.cc )
+
+add_library(nas ${LIB_TYPE}
+	${nas_public_header}
+	${nas_public_header_model}
+	${nas_src})
+
+set_target_properties(nas
+	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}nas
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(nas
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_NAS_LIBRARY)
+endif()
+
+target_include_directories(nas
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(nas
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(nas
+		jsoncpp)
+	target_include_directories(nas
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(nas
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(nas
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(nas
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(nas
+		jsoncpp)
+endif()
+
+install(FILES ${nas_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/nas)
+install(FILES ${nas_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/nas/model)
+install(TARGETS nas
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 774 - 0
nas/include/alibabacloud/nas/NASClient.h

@@ -0,0 +1,774 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_NAS_NASCLIENT_H_
+#define ALIBABACLOUD_NAS_NASCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "NASExport.h"
+#include "model/AddClientToBlackListRequest.h"
+#include "model/AddClientToBlackListResult.h"
+#include "model/AddTagsRequest.h"
+#include "model/AddTagsResult.h"
+#include "model/ApplyAutoSnapshotPolicyRequest.h"
+#include "model/ApplyAutoSnapshotPolicyResult.h"
+#include "model/ApplyDataFlowAutoRefreshRequest.h"
+#include "model/ApplyDataFlowAutoRefreshResult.h"
+#include "model/CancelAutoSnapshotPolicyRequest.h"
+#include "model/CancelAutoSnapshotPolicyResult.h"
+#include "model/CancelDataFlowAutoRefreshRequest.h"
+#include "model/CancelDataFlowAutoRefreshResult.h"
+#include "model/CancelDataFlowTaskRequest.h"
+#include "model/CancelDataFlowTaskResult.h"
+#include "model/CancelDirQuotaRequest.h"
+#include "model/CancelDirQuotaResult.h"
+#include "model/CancelLifecycleRetrieveJobRequest.h"
+#include "model/CancelLifecycleRetrieveJobResult.h"
+#include "model/CancelRecycleBinJobRequest.h"
+#include "model/CancelRecycleBinJobResult.h"
+#include "model/CreateAccessGroupRequest.h"
+#include "model/CreateAccessGroupResult.h"
+#include "model/CreateAccessRuleRequest.h"
+#include "model/CreateAccessRuleResult.h"
+#include "model/CreateAutoSnapshotPolicyRequest.h"
+#include "model/CreateAutoSnapshotPolicyResult.h"
+#include "model/CreateDataFlowRequest.h"
+#include "model/CreateDataFlowResult.h"
+#include "model/CreateDataFlowTaskRequest.h"
+#include "model/CreateDataFlowTaskResult.h"
+#include "model/CreateFileSystemRequest.h"
+#include "model/CreateFileSystemResult.h"
+#include "model/CreateFilesetRequest.h"
+#include "model/CreateFilesetResult.h"
+#include "model/CreateLDAPConfigRequest.h"
+#include "model/CreateLDAPConfigResult.h"
+#include "model/CreateLifecyclePolicyRequest.h"
+#include "model/CreateLifecyclePolicyResult.h"
+#include "model/CreateLifecycleRetrieveJobRequest.h"
+#include "model/CreateLifecycleRetrieveJobResult.h"
+#include "model/CreateMountTargetRequest.h"
+#include "model/CreateMountTargetResult.h"
+#include "model/CreateRecycleBinDeleteJobRequest.h"
+#include "model/CreateRecycleBinDeleteJobResult.h"
+#include "model/CreateRecycleBinRestoreJobRequest.h"
+#include "model/CreateRecycleBinRestoreJobResult.h"
+#include "model/CreateSnapshotRequest.h"
+#include "model/CreateSnapshotResult.h"
+#include "model/DeleteAccessGroupRequest.h"
+#include "model/DeleteAccessGroupResult.h"
+#include "model/DeleteAccessRuleRequest.h"
+#include "model/DeleteAccessRuleResult.h"
+#include "model/DeleteAutoSnapshotPolicyRequest.h"
+#include "model/DeleteAutoSnapshotPolicyResult.h"
+#include "model/DeleteDataFlowRequest.h"
+#include "model/DeleteDataFlowResult.h"
+#include "model/DeleteFileSystemRequest.h"
+#include "model/DeleteFileSystemResult.h"
+#include "model/DeleteFilesetRequest.h"
+#include "model/DeleteFilesetResult.h"
+#include "model/DeleteLDAPConfigRequest.h"
+#include "model/DeleteLDAPConfigResult.h"
+#include "model/DeleteLifecyclePolicyRequest.h"
+#include "model/DeleteLifecyclePolicyResult.h"
+#include "model/DeleteMountTargetRequest.h"
+#include "model/DeleteMountTargetResult.h"
+#include "model/DeleteSnapshotRequest.h"
+#include "model/DeleteSnapshotResult.h"
+#include "model/DescribeAccessGroupsRequest.h"
+#include "model/DescribeAccessGroupsResult.h"
+#include "model/DescribeAccessRulesRequest.h"
+#include "model/DescribeAccessRulesResult.h"
+#include "model/DescribeAutoSnapshotPoliciesRequest.h"
+#include "model/DescribeAutoSnapshotPoliciesResult.h"
+#include "model/DescribeAutoSnapshotTasksRequest.h"
+#include "model/DescribeAutoSnapshotTasksResult.h"
+#include "model/DescribeBlackListClientsRequest.h"
+#include "model/DescribeBlackListClientsResult.h"
+#include "model/DescribeDataFlowTasksRequest.h"
+#include "model/DescribeDataFlowTasksResult.h"
+#include "model/DescribeDataFlowsRequest.h"
+#include "model/DescribeDataFlowsResult.h"
+#include "model/DescribeDirQuotasRequest.h"
+#include "model/DescribeDirQuotasResult.h"
+#include "model/DescribeFileSystemStatisticsRequest.h"
+#include "model/DescribeFileSystemStatisticsResult.h"
+#include "model/DescribeFileSystemsRequest.h"
+#include "model/DescribeFileSystemsResult.h"
+#include "model/DescribeFilesetsRequest.h"
+#include "model/DescribeFilesetsResult.h"
+#include "model/DescribeLDAPConfigRequest.h"
+#include "model/DescribeLDAPConfigResult.h"
+#include "model/DescribeLifecyclePoliciesRequest.h"
+#include "model/DescribeLifecyclePoliciesResult.h"
+#include "model/DescribeLogAnalysisRequest.h"
+#include "model/DescribeLogAnalysisResult.h"
+#include "model/DescribeMountTargetsRequest.h"
+#include "model/DescribeMountTargetsResult.h"
+#include "model/DescribeMountedClientsRequest.h"
+#include "model/DescribeMountedClientsResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/DescribeSmbAclRequest.h"
+#include "model/DescribeSmbAclResult.h"
+#include "model/DescribeSnapshotsRequest.h"
+#include "model/DescribeSnapshotsResult.h"
+#include "model/DescribeStoragePackagesRequest.h"
+#include "model/DescribeStoragePackagesResult.h"
+#include "model/DescribeTagsRequest.h"
+#include "model/DescribeTagsResult.h"
+#include "model/DescribeZonesRequest.h"
+#include "model/DescribeZonesResult.h"
+#include "model/DisableAndCleanRecycleBinRequest.h"
+#include "model/DisableAndCleanRecycleBinResult.h"
+#include "model/DisableSmbAclRequest.h"
+#include "model/DisableSmbAclResult.h"
+#include "model/EnableRecycleBinRequest.h"
+#include "model/EnableRecycleBinResult.h"
+#include "model/EnableSmbAclRequest.h"
+#include "model/EnableSmbAclResult.h"
+#include "model/GetDirectoryOrFilePropertiesRequest.h"
+#include "model/GetDirectoryOrFilePropertiesResult.h"
+#include "model/GetRecycleBinAttributeRequest.h"
+#include "model/GetRecycleBinAttributeResult.h"
+#include "model/ListDirectoriesAndFilesRequest.h"
+#include "model/ListDirectoriesAndFilesResult.h"
+#include "model/ListLifecycleRetrieveJobsRequest.h"
+#include "model/ListLifecycleRetrieveJobsResult.h"
+#include "model/ListRecentlyRecycledDirectoriesRequest.h"
+#include "model/ListRecentlyRecycledDirectoriesResult.h"
+#include "model/ListRecycleBinJobsRequest.h"
+#include "model/ListRecycleBinJobsResult.h"
+#include "model/ListRecycledDirectoriesAndFilesRequest.h"
+#include "model/ListRecycledDirectoriesAndFilesResult.h"
+#include "model/ListTagResourcesRequest.h"
+#include "model/ListTagResourcesResult.h"
+#include "model/ModifyAccessGroupRequest.h"
+#include "model/ModifyAccessGroupResult.h"
+#include "model/ModifyAccessRuleRequest.h"
+#include "model/ModifyAccessRuleResult.h"
+#include "model/ModifyAutoSnapshotPolicyRequest.h"
+#include "model/ModifyAutoSnapshotPolicyResult.h"
+#include "model/ModifyDataFlowRequest.h"
+#include "model/ModifyDataFlowResult.h"
+#include "model/ModifyDataFlowAutoRefreshRequest.h"
+#include "model/ModifyDataFlowAutoRefreshResult.h"
+#include "model/ModifyFileSystemRequest.h"
+#include "model/ModifyFileSystemResult.h"
+#include "model/ModifyFilesetRequest.h"
+#include "model/ModifyFilesetResult.h"
+#include "model/ModifyLDAPConfigRequest.h"
+#include "model/ModifyLDAPConfigResult.h"
+#include "model/ModifyLifecyclePolicyRequest.h"
+#include "model/ModifyLifecyclePolicyResult.h"
+#include "model/ModifyMountTargetRequest.h"
+#include "model/ModifyMountTargetResult.h"
+#include "model/ModifySmbAclRequest.h"
+#include "model/ModifySmbAclResult.h"
+#include "model/OpenNASServiceRequest.h"
+#include "model/OpenNASServiceResult.h"
+#include "model/RemoveClientFromBlackListRequest.h"
+#include "model/RemoveClientFromBlackListResult.h"
+#include "model/RemoveTagsRequest.h"
+#include "model/RemoveTagsResult.h"
+#include "model/ResetFileSystemRequest.h"
+#include "model/ResetFileSystemResult.h"
+#include "model/RetryLifecycleRetrieveJobRequest.h"
+#include "model/RetryLifecycleRetrieveJobResult.h"
+#include "model/SetDirQuotaRequest.h"
+#include "model/SetDirQuotaResult.h"
+#include "model/StartDataFlowRequest.h"
+#include "model/StartDataFlowResult.h"
+#include "model/StopDataFlowRequest.h"
+#include "model/StopDataFlowResult.h"
+#include "model/TagResourcesRequest.h"
+#include "model/TagResourcesResult.h"
+#include "model/UntagResourcesRequest.h"
+#include "model/UntagResourcesResult.h"
+#include "model/UpdateRecycleBinAttributeRequest.h"
+#include "model/UpdateRecycleBinAttributeResult.h"
+#include "model/UpgradeFileSystemRequest.h"
+#include "model/UpgradeFileSystemResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		class ALIBABACLOUD_NAS_EXPORT NASClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::AddClientToBlackListResult> AddClientToBlackListOutcome;
+			typedef std::future<AddClientToBlackListOutcome> AddClientToBlackListOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::AddClientToBlackListRequest&, const AddClientToBlackListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddClientToBlackListAsyncHandler;
+			typedef Outcome<Error, Model::AddTagsResult> AddTagsOutcome;
+			typedef std::future<AddTagsOutcome> AddTagsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::AddTagsRequest&, const AddTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddTagsAsyncHandler;
+			typedef Outcome<Error, Model::ApplyAutoSnapshotPolicyResult> ApplyAutoSnapshotPolicyOutcome;
+			typedef std::future<ApplyAutoSnapshotPolicyOutcome> ApplyAutoSnapshotPolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ApplyAutoSnapshotPolicyRequest&, const ApplyAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::ApplyDataFlowAutoRefreshResult> ApplyDataFlowAutoRefreshOutcome;
+			typedef std::future<ApplyDataFlowAutoRefreshOutcome> ApplyDataFlowAutoRefreshOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ApplyDataFlowAutoRefreshRequest&, const ApplyDataFlowAutoRefreshOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyDataFlowAutoRefreshAsyncHandler;
+			typedef Outcome<Error, Model::CancelAutoSnapshotPolicyResult> CancelAutoSnapshotPolicyOutcome;
+			typedef std::future<CancelAutoSnapshotPolicyOutcome> CancelAutoSnapshotPolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CancelAutoSnapshotPolicyRequest&, const CancelAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::CancelDataFlowAutoRefreshResult> CancelDataFlowAutoRefreshOutcome;
+			typedef std::future<CancelDataFlowAutoRefreshOutcome> CancelDataFlowAutoRefreshOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CancelDataFlowAutoRefreshRequest&, const CancelDataFlowAutoRefreshOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelDataFlowAutoRefreshAsyncHandler;
+			typedef Outcome<Error, Model::CancelDataFlowTaskResult> CancelDataFlowTaskOutcome;
+			typedef std::future<CancelDataFlowTaskOutcome> CancelDataFlowTaskOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CancelDataFlowTaskRequest&, const CancelDataFlowTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelDataFlowTaskAsyncHandler;
+			typedef Outcome<Error, Model::CancelDirQuotaResult> CancelDirQuotaOutcome;
+			typedef std::future<CancelDirQuotaOutcome> CancelDirQuotaOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CancelDirQuotaRequest&, const CancelDirQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelDirQuotaAsyncHandler;
+			typedef Outcome<Error, Model::CancelLifecycleRetrieveJobResult> CancelLifecycleRetrieveJobOutcome;
+			typedef std::future<CancelLifecycleRetrieveJobOutcome> CancelLifecycleRetrieveJobOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CancelLifecycleRetrieveJobRequest&, const CancelLifecycleRetrieveJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelLifecycleRetrieveJobAsyncHandler;
+			typedef Outcome<Error, Model::CancelRecycleBinJobResult> CancelRecycleBinJobOutcome;
+			typedef std::future<CancelRecycleBinJobOutcome> CancelRecycleBinJobOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CancelRecycleBinJobRequest&, const CancelRecycleBinJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelRecycleBinJobAsyncHandler;
+			typedef Outcome<Error, Model::CreateAccessGroupResult> CreateAccessGroupOutcome;
+			typedef std::future<CreateAccessGroupOutcome> CreateAccessGroupOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateAccessGroupRequest&, const CreateAccessGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAccessGroupAsyncHandler;
+			typedef Outcome<Error, Model::CreateAccessRuleResult> CreateAccessRuleOutcome;
+			typedef std::future<CreateAccessRuleOutcome> CreateAccessRuleOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateAccessRuleRequest&, const CreateAccessRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAccessRuleAsyncHandler;
+			typedef Outcome<Error, Model::CreateAutoSnapshotPolicyResult> CreateAutoSnapshotPolicyOutcome;
+			typedef std::future<CreateAutoSnapshotPolicyOutcome> CreateAutoSnapshotPolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateAutoSnapshotPolicyRequest&, const CreateAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::CreateDataFlowResult> CreateDataFlowOutcome;
+			typedef std::future<CreateDataFlowOutcome> CreateDataFlowOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateDataFlowRequest&, const CreateDataFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDataFlowAsyncHandler;
+			typedef Outcome<Error, Model::CreateDataFlowTaskResult> CreateDataFlowTaskOutcome;
+			typedef std::future<CreateDataFlowTaskOutcome> CreateDataFlowTaskOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateDataFlowTaskRequest&, const CreateDataFlowTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDataFlowTaskAsyncHandler;
+			typedef Outcome<Error, Model::CreateFileSystemResult> CreateFileSystemOutcome;
+			typedef std::future<CreateFileSystemOutcome> CreateFileSystemOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateFileSystemRequest&, const CreateFileSystemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFileSystemAsyncHandler;
+			typedef Outcome<Error, Model::CreateFilesetResult> CreateFilesetOutcome;
+			typedef std::future<CreateFilesetOutcome> CreateFilesetOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateFilesetRequest&, const CreateFilesetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFilesetAsyncHandler;
+			typedef Outcome<Error, Model::CreateLDAPConfigResult> CreateLDAPConfigOutcome;
+			typedef std::future<CreateLDAPConfigOutcome> CreateLDAPConfigOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateLDAPConfigRequest&, const CreateLDAPConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLDAPConfigAsyncHandler;
+			typedef Outcome<Error, Model::CreateLifecyclePolicyResult> CreateLifecyclePolicyOutcome;
+			typedef std::future<CreateLifecyclePolicyOutcome> CreateLifecyclePolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateLifecyclePolicyRequest&, const CreateLifecyclePolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLifecyclePolicyAsyncHandler;
+			typedef Outcome<Error, Model::CreateLifecycleRetrieveJobResult> CreateLifecycleRetrieveJobOutcome;
+			typedef std::future<CreateLifecycleRetrieveJobOutcome> CreateLifecycleRetrieveJobOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateLifecycleRetrieveJobRequest&, const CreateLifecycleRetrieveJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLifecycleRetrieveJobAsyncHandler;
+			typedef Outcome<Error, Model::CreateMountTargetResult> CreateMountTargetOutcome;
+			typedef std::future<CreateMountTargetOutcome> CreateMountTargetOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateMountTargetRequest&, const CreateMountTargetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMountTargetAsyncHandler;
+			typedef Outcome<Error, Model::CreateRecycleBinDeleteJobResult> CreateRecycleBinDeleteJobOutcome;
+			typedef std::future<CreateRecycleBinDeleteJobOutcome> CreateRecycleBinDeleteJobOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateRecycleBinDeleteJobRequest&, const CreateRecycleBinDeleteJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRecycleBinDeleteJobAsyncHandler;
+			typedef Outcome<Error, Model::CreateRecycleBinRestoreJobResult> CreateRecycleBinRestoreJobOutcome;
+			typedef std::future<CreateRecycleBinRestoreJobOutcome> CreateRecycleBinRestoreJobOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateRecycleBinRestoreJobRequest&, const CreateRecycleBinRestoreJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRecycleBinRestoreJobAsyncHandler;
+			typedef Outcome<Error, Model::CreateSnapshotResult> CreateSnapshotOutcome;
+			typedef std::future<CreateSnapshotOutcome> CreateSnapshotOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::CreateSnapshotRequest&, const CreateSnapshotOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSnapshotAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAccessGroupResult> DeleteAccessGroupOutcome;
+			typedef std::future<DeleteAccessGroupOutcome> DeleteAccessGroupOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteAccessGroupRequest&, const DeleteAccessGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAccessGroupAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAccessRuleResult> DeleteAccessRuleOutcome;
+			typedef std::future<DeleteAccessRuleOutcome> DeleteAccessRuleOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteAccessRuleRequest&, const DeleteAccessRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAccessRuleAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAutoSnapshotPolicyResult> DeleteAutoSnapshotPolicyOutcome;
+			typedef std::future<DeleteAutoSnapshotPolicyOutcome> DeleteAutoSnapshotPolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteAutoSnapshotPolicyRequest&, const DeleteAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDataFlowResult> DeleteDataFlowOutcome;
+			typedef std::future<DeleteDataFlowOutcome> DeleteDataFlowOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteDataFlowRequest&, const DeleteDataFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDataFlowAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFileSystemResult> DeleteFileSystemOutcome;
+			typedef std::future<DeleteFileSystemOutcome> DeleteFileSystemOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteFileSystemRequest&, const DeleteFileSystemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFileSystemAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFilesetResult> DeleteFilesetOutcome;
+			typedef std::future<DeleteFilesetOutcome> DeleteFilesetOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteFilesetRequest&, const DeleteFilesetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFilesetAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLDAPConfigResult> DeleteLDAPConfigOutcome;
+			typedef std::future<DeleteLDAPConfigOutcome> DeleteLDAPConfigOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteLDAPConfigRequest&, const DeleteLDAPConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLDAPConfigAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLifecyclePolicyResult> DeleteLifecyclePolicyOutcome;
+			typedef std::future<DeleteLifecyclePolicyOutcome> DeleteLifecyclePolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteLifecyclePolicyRequest&, const DeleteLifecyclePolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLifecyclePolicyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteMountTargetResult> DeleteMountTargetOutcome;
+			typedef std::future<DeleteMountTargetOutcome> DeleteMountTargetOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteMountTargetRequest&, const DeleteMountTargetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteMountTargetAsyncHandler;
+			typedef Outcome<Error, Model::DeleteSnapshotResult> DeleteSnapshotOutcome;
+			typedef std::future<DeleteSnapshotOutcome> DeleteSnapshotOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DeleteSnapshotRequest&, const DeleteSnapshotOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSnapshotAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAccessGroupsResult> DescribeAccessGroupsOutcome;
+			typedef std::future<DescribeAccessGroupsOutcome> DescribeAccessGroupsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeAccessGroupsRequest&, const DescribeAccessGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAccessGroupsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAccessRulesResult> DescribeAccessRulesOutcome;
+			typedef std::future<DescribeAccessRulesOutcome> DescribeAccessRulesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeAccessRulesRequest&, const DescribeAccessRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAccessRulesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAutoSnapshotPoliciesResult> DescribeAutoSnapshotPoliciesOutcome;
+			typedef std::future<DescribeAutoSnapshotPoliciesOutcome> DescribeAutoSnapshotPoliciesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeAutoSnapshotPoliciesRequest&, const DescribeAutoSnapshotPoliciesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAutoSnapshotPoliciesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAutoSnapshotTasksResult> DescribeAutoSnapshotTasksOutcome;
+			typedef std::future<DescribeAutoSnapshotTasksOutcome> DescribeAutoSnapshotTasksOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeAutoSnapshotTasksRequest&, const DescribeAutoSnapshotTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAutoSnapshotTasksAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBlackListClientsResult> DescribeBlackListClientsOutcome;
+			typedef std::future<DescribeBlackListClientsOutcome> DescribeBlackListClientsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeBlackListClientsRequest&, const DescribeBlackListClientsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBlackListClientsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDataFlowTasksResult> DescribeDataFlowTasksOutcome;
+			typedef std::future<DescribeDataFlowTasksOutcome> DescribeDataFlowTasksOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeDataFlowTasksRequest&, const DescribeDataFlowTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDataFlowTasksAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDataFlowsResult> DescribeDataFlowsOutcome;
+			typedef std::future<DescribeDataFlowsOutcome> DescribeDataFlowsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeDataFlowsRequest&, const DescribeDataFlowsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDataFlowsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDirQuotasResult> DescribeDirQuotasOutcome;
+			typedef std::future<DescribeDirQuotasOutcome> DescribeDirQuotasOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeDirQuotasRequest&, const DescribeDirQuotasOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDirQuotasAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFileSystemStatisticsResult> DescribeFileSystemStatisticsOutcome;
+			typedef std::future<DescribeFileSystemStatisticsOutcome> DescribeFileSystemStatisticsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeFileSystemStatisticsRequest&, const DescribeFileSystemStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFileSystemStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFileSystemsResult> DescribeFileSystemsOutcome;
+			typedef std::future<DescribeFileSystemsOutcome> DescribeFileSystemsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeFileSystemsRequest&, const DescribeFileSystemsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFileSystemsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFilesetsResult> DescribeFilesetsOutcome;
+			typedef std::future<DescribeFilesetsOutcome> DescribeFilesetsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeFilesetsRequest&, const DescribeFilesetsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFilesetsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLDAPConfigResult> DescribeLDAPConfigOutcome;
+			typedef std::future<DescribeLDAPConfigOutcome> DescribeLDAPConfigOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeLDAPConfigRequest&, const DescribeLDAPConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLDAPConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLifecyclePoliciesResult> DescribeLifecyclePoliciesOutcome;
+			typedef std::future<DescribeLifecyclePoliciesOutcome> DescribeLifecyclePoliciesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeLifecyclePoliciesRequest&, const DescribeLifecyclePoliciesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLifecyclePoliciesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLogAnalysisResult> DescribeLogAnalysisOutcome;
+			typedef std::future<DescribeLogAnalysisOutcome> DescribeLogAnalysisOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeLogAnalysisRequest&, const DescribeLogAnalysisOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLogAnalysisAsyncHandler;
+			typedef Outcome<Error, Model::DescribeMountTargetsResult> DescribeMountTargetsOutcome;
+			typedef std::future<DescribeMountTargetsOutcome> DescribeMountTargetsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeMountTargetsRequest&, const DescribeMountTargetsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeMountTargetsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeMountedClientsResult> DescribeMountedClientsOutcome;
+			typedef std::future<DescribeMountedClientsOutcome> DescribeMountedClientsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeMountedClientsRequest&, const DescribeMountedClientsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeMountedClientsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSmbAclResult> DescribeSmbAclOutcome;
+			typedef std::future<DescribeSmbAclOutcome> DescribeSmbAclOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeSmbAclRequest&, const DescribeSmbAclOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSmbAclAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSnapshotsResult> DescribeSnapshotsOutcome;
+			typedef std::future<DescribeSnapshotsOutcome> DescribeSnapshotsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeSnapshotsRequest&, const DescribeSnapshotsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSnapshotsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeStoragePackagesResult> DescribeStoragePackagesOutcome;
+			typedef std::future<DescribeStoragePackagesOutcome> DescribeStoragePackagesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeStoragePackagesRequest&, const DescribeStoragePackagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeStoragePackagesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeTagsResult> DescribeTagsOutcome;
+			typedef std::future<DescribeTagsOutcome> DescribeTagsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeTagsRequest&, const DescribeTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTagsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeZonesResult> DescribeZonesOutcome;
+			typedef std::future<DescribeZonesOutcome> DescribeZonesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DescribeZonesRequest&, const DescribeZonesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeZonesAsyncHandler;
+			typedef Outcome<Error, Model::DisableAndCleanRecycleBinResult> DisableAndCleanRecycleBinOutcome;
+			typedef std::future<DisableAndCleanRecycleBinOutcome> DisableAndCleanRecycleBinOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DisableAndCleanRecycleBinRequest&, const DisableAndCleanRecycleBinOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableAndCleanRecycleBinAsyncHandler;
+			typedef Outcome<Error, Model::DisableSmbAclResult> DisableSmbAclOutcome;
+			typedef std::future<DisableSmbAclOutcome> DisableSmbAclOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::DisableSmbAclRequest&, const DisableSmbAclOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableSmbAclAsyncHandler;
+			typedef Outcome<Error, Model::EnableRecycleBinResult> EnableRecycleBinOutcome;
+			typedef std::future<EnableRecycleBinOutcome> EnableRecycleBinOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::EnableRecycleBinRequest&, const EnableRecycleBinOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableRecycleBinAsyncHandler;
+			typedef Outcome<Error, Model::EnableSmbAclResult> EnableSmbAclOutcome;
+			typedef std::future<EnableSmbAclOutcome> EnableSmbAclOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::EnableSmbAclRequest&, const EnableSmbAclOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableSmbAclAsyncHandler;
+			typedef Outcome<Error, Model::GetDirectoryOrFilePropertiesResult> GetDirectoryOrFilePropertiesOutcome;
+			typedef std::future<GetDirectoryOrFilePropertiesOutcome> GetDirectoryOrFilePropertiesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::GetDirectoryOrFilePropertiesRequest&, const GetDirectoryOrFilePropertiesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDirectoryOrFilePropertiesAsyncHandler;
+			typedef Outcome<Error, Model::GetRecycleBinAttributeResult> GetRecycleBinAttributeOutcome;
+			typedef std::future<GetRecycleBinAttributeOutcome> GetRecycleBinAttributeOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::GetRecycleBinAttributeRequest&, const GetRecycleBinAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetRecycleBinAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ListDirectoriesAndFilesResult> ListDirectoriesAndFilesOutcome;
+			typedef std::future<ListDirectoriesAndFilesOutcome> ListDirectoriesAndFilesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ListDirectoriesAndFilesRequest&, const ListDirectoriesAndFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDirectoriesAndFilesAsyncHandler;
+			typedef Outcome<Error, Model::ListLifecycleRetrieveJobsResult> ListLifecycleRetrieveJobsOutcome;
+			typedef std::future<ListLifecycleRetrieveJobsOutcome> ListLifecycleRetrieveJobsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ListLifecycleRetrieveJobsRequest&, const ListLifecycleRetrieveJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListLifecycleRetrieveJobsAsyncHandler;
+			typedef Outcome<Error, Model::ListRecentlyRecycledDirectoriesResult> ListRecentlyRecycledDirectoriesOutcome;
+			typedef std::future<ListRecentlyRecycledDirectoriesOutcome> ListRecentlyRecycledDirectoriesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ListRecentlyRecycledDirectoriesRequest&, const ListRecentlyRecycledDirectoriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRecentlyRecycledDirectoriesAsyncHandler;
+			typedef Outcome<Error, Model::ListRecycleBinJobsResult> ListRecycleBinJobsOutcome;
+			typedef std::future<ListRecycleBinJobsOutcome> ListRecycleBinJobsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ListRecycleBinJobsRequest&, const ListRecycleBinJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRecycleBinJobsAsyncHandler;
+			typedef Outcome<Error, Model::ListRecycledDirectoriesAndFilesResult> ListRecycledDirectoriesAndFilesOutcome;
+			typedef std::future<ListRecycledDirectoriesAndFilesOutcome> ListRecycledDirectoriesAndFilesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ListRecycledDirectoriesAndFilesRequest&, const ListRecycledDirectoriesAndFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRecycledDirectoriesAndFilesAsyncHandler;
+			typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
+			typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::ModifyAccessGroupResult> ModifyAccessGroupOutcome;
+			typedef std::future<ModifyAccessGroupOutcome> ModifyAccessGroupOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyAccessGroupRequest&, const ModifyAccessGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAccessGroupAsyncHandler;
+			typedef Outcome<Error, Model::ModifyAccessRuleResult> ModifyAccessRuleOutcome;
+			typedef std::future<ModifyAccessRuleOutcome> ModifyAccessRuleOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyAccessRuleRequest&, const ModifyAccessRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAccessRuleAsyncHandler;
+			typedef Outcome<Error, Model::ModifyAutoSnapshotPolicyResult> ModifyAutoSnapshotPolicyOutcome;
+			typedef std::future<ModifyAutoSnapshotPolicyOutcome> ModifyAutoSnapshotPolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyAutoSnapshotPolicyRequest&, const ModifyAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDataFlowResult> ModifyDataFlowOutcome;
+			typedef std::future<ModifyDataFlowOutcome> ModifyDataFlowOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyDataFlowRequest&, const ModifyDataFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDataFlowAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDataFlowAutoRefreshResult> ModifyDataFlowAutoRefreshOutcome;
+			typedef std::future<ModifyDataFlowAutoRefreshOutcome> ModifyDataFlowAutoRefreshOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyDataFlowAutoRefreshRequest&, const ModifyDataFlowAutoRefreshOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDataFlowAutoRefreshAsyncHandler;
+			typedef Outcome<Error, Model::ModifyFileSystemResult> ModifyFileSystemOutcome;
+			typedef std::future<ModifyFileSystemOutcome> ModifyFileSystemOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyFileSystemRequest&, const ModifyFileSystemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFileSystemAsyncHandler;
+			typedef Outcome<Error, Model::ModifyFilesetResult> ModifyFilesetOutcome;
+			typedef std::future<ModifyFilesetOutcome> ModifyFilesetOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyFilesetRequest&, const ModifyFilesetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFilesetAsyncHandler;
+			typedef Outcome<Error, Model::ModifyLDAPConfigResult> ModifyLDAPConfigOutcome;
+			typedef std::future<ModifyLDAPConfigOutcome> ModifyLDAPConfigOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyLDAPConfigRequest&, const ModifyLDAPConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyLDAPConfigAsyncHandler;
+			typedef Outcome<Error, Model::ModifyLifecyclePolicyResult> ModifyLifecyclePolicyOutcome;
+			typedef std::future<ModifyLifecyclePolicyOutcome> ModifyLifecyclePolicyOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyLifecyclePolicyRequest&, const ModifyLifecyclePolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyLifecyclePolicyAsyncHandler;
+			typedef Outcome<Error, Model::ModifyMountTargetResult> ModifyMountTargetOutcome;
+			typedef std::future<ModifyMountTargetOutcome> ModifyMountTargetOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifyMountTargetRequest&, const ModifyMountTargetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyMountTargetAsyncHandler;
+			typedef Outcome<Error, Model::ModifySmbAclResult> ModifySmbAclOutcome;
+			typedef std::future<ModifySmbAclOutcome> ModifySmbAclOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ModifySmbAclRequest&, const ModifySmbAclOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifySmbAclAsyncHandler;
+			typedef Outcome<Error, Model::OpenNASServiceResult> OpenNASServiceOutcome;
+			typedef std::future<OpenNASServiceOutcome> OpenNASServiceOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::OpenNASServiceRequest&, const OpenNASServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OpenNASServiceAsyncHandler;
+			typedef Outcome<Error, Model::RemoveClientFromBlackListResult> RemoveClientFromBlackListOutcome;
+			typedef std::future<RemoveClientFromBlackListOutcome> RemoveClientFromBlackListOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::RemoveClientFromBlackListRequest&, const RemoveClientFromBlackListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveClientFromBlackListAsyncHandler;
+			typedef Outcome<Error, Model::RemoveTagsResult> RemoveTagsOutcome;
+			typedef std::future<RemoveTagsOutcome> RemoveTagsOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::RemoveTagsRequest&, const RemoveTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveTagsAsyncHandler;
+			typedef Outcome<Error, Model::ResetFileSystemResult> ResetFileSystemOutcome;
+			typedef std::future<ResetFileSystemOutcome> ResetFileSystemOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::ResetFileSystemRequest&, const ResetFileSystemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetFileSystemAsyncHandler;
+			typedef Outcome<Error, Model::RetryLifecycleRetrieveJobResult> RetryLifecycleRetrieveJobOutcome;
+			typedef std::future<RetryLifecycleRetrieveJobOutcome> RetryLifecycleRetrieveJobOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::RetryLifecycleRetrieveJobRequest&, const RetryLifecycleRetrieveJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RetryLifecycleRetrieveJobAsyncHandler;
+			typedef Outcome<Error, Model::SetDirQuotaResult> SetDirQuotaOutcome;
+			typedef std::future<SetDirQuotaOutcome> SetDirQuotaOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::SetDirQuotaRequest&, const SetDirQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDirQuotaAsyncHandler;
+			typedef Outcome<Error, Model::StartDataFlowResult> StartDataFlowOutcome;
+			typedef std::future<StartDataFlowOutcome> StartDataFlowOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::StartDataFlowRequest&, const StartDataFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartDataFlowAsyncHandler;
+			typedef Outcome<Error, Model::StopDataFlowResult> StopDataFlowOutcome;
+			typedef std::future<StopDataFlowOutcome> StopDataFlowOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::StopDataFlowRequest&, const StopDataFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopDataFlowAsyncHandler;
+			typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
+			typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
+			typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRecycleBinAttributeResult> UpdateRecycleBinAttributeOutcome;
+			typedef std::future<UpdateRecycleBinAttributeOutcome> UpdateRecycleBinAttributeOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::UpdateRecycleBinAttributeRequest&, const UpdateRecycleBinAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRecycleBinAttributeAsyncHandler;
+			typedef Outcome<Error, Model::UpgradeFileSystemResult> UpgradeFileSystemOutcome;
+			typedef std::future<UpgradeFileSystemOutcome> UpgradeFileSystemOutcomeCallable;
+			typedef std::function<void(const NASClient*, const Model::UpgradeFileSystemRequest&, const UpgradeFileSystemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeFileSystemAsyncHandler;
+
+			NASClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			NASClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			NASClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~NASClient();
+			AddClientToBlackListOutcome addClientToBlackList(const Model::AddClientToBlackListRequest &request)const;
+			void addClientToBlackListAsync(const Model::AddClientToBlackListRequest& request, const AddClientToBlackListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddClientToBlackListOutcomeCallable addClientToBlackListCallable(const Model::AddClientToBlackListRequest& request) const;
+			AddTagsOutcome addTags(const Model::AddTagsRequest &request)const;
+			void addTagsAsync(const Model::AddTagsRequest& request, const AddTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddTagsOutcomeCallable addTagsCallable(const Model::AddTagsRequest& request) const;
+			ApplyAutoSnapshotPolicyOutcome applyAutoSnapshotPolicy(const Model::ApplyAutoSnapshotPolicyRequest &request)const;
+			void applyAutoSnapshotPolicyAsync(const Model::ApplyAutoSnapshotPolicyRequest& request, const ApplyAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ApplyAutoSnapshotPolicyOutcomeCallable applyAutoSnapshotPolicyCallable(const Model::ApplyAutoSnapshotPolicyRequest& request) const;
+			ApplyDataFlowAutoRefreshOutcome applyDataFlowAutoRefresh(const Model::ApplyDataFlowAutoRefreshRequest &request)const;
+			void applyDataFlowAutoRefreshAsync(const Model::ApplyDataFlowAutoRefreshRequest& request, const ApplyDataFlowAutoRefreshAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ApplyDataFlowAutoRefreshOutcomeCallable applyDataFlowAutoRefreshCallable(const Model::ApplyDataFlowAutoRefreshRequest& request) const;
+			CancelAutoSnapshotPolicyOutcome cancelAutoSnapshotPolicy(const Model::CancelAutoSnapshotPolicyRequest &request)const;
+			void cancelAutoSnapshotPolicyAsync(const Model::CancelAutoSnapshotPolicyRequest& request, const CancelAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelAutoSnapshotPolicyOutcomeCallable cancelAutoSnapshotPolicyCallable(const Model::CancelAutoSnapshotPolicyRequest& request) const;
+			CancelDataFlowAutoRefreshOutcome cancelDataFlowAutoRefresh(const Model::CancelDataFlowAutoRefreshRequest &request)const;
+			void cancelDataFlowAutoRefreshAsync(const Model::CancelDataFlowAutoRefreshRequest& request, const CancelDataFlowAutoRefreshAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelDataFlowAutoRefreshOutcomeCallable cancelDataFlowAutoRefreshCallable(const Model::CancelDataFlowAutoRefreshRequest& request) const;
+			CancelDataFlowTaskOutcome cancelDataFlowTask(const Model::CancelDataFlowTaskRequest &request)const;
+			void cancelDataFlowTaskAsync(const Model::CancelDataFlowTaskRequest& request, const CancelDataFlowTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelDataFlowTaskOutcomeCallable cancelDataFlowTaskCallable(const Model::CancelDataFlowTaskRequest& request) const;
+			CancelDirQuotaOutcome cancelDirQuota(const Model::CancelDirQuotaRequest &request)const;
+			void cancelDirQuotaAsync(const Model::CancelDirQuotaRequest& request, const CancelDirQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelDirQuotaOutcomeCallable cancelDirQuotaCallable(const Model::CancelDirQuotaRequest& request) const;
+			CancelLifecycleRetrieveJobOutcome cancelLifecycleRetrieveJob(const Model::CancelLifecycleRetrieveJobRequest &request)const;
+			void cancelLifecycleRetrieveJobAsync(const Model::CancelLifecycleRetrieveJobRequest& request, const CancelLifecycleRetrieveJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelLifecycleRetrieveJobOutcomeCallable cancelLifecycleRetrieveJobCallable(const Model::CancelLifecycleRetrieveJobRequest& request) const;
+			CancelRecycleBinJobOutcome cancelRecycleBinJob(const Model::CancelRecycleBinJobRequest &request)const;
+			void cancelRecycleBinJobAsync(const Model::CancelRecycleBinJobRequest& request, const CancelRecycleBinJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelRecycleBinJobOutcomeCallable cancelRecycleBinJobCallable(const Model::CancelRecycleBinJobRequest& request) const;
+			CreateAccessGroupOutcome createAccessGroup(const Model::CreateAccessGroupRequest &request)const;
+			void createAccessGroupAsync(const Model::CreateAccessGroupRequest& request, const CreateAccessGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAccessGroupOutcomeCallable createAccessGroupCallable(const Model::CreateAccessGroupRequest& request) const;
+			CreateAccessRuleOutcome createAccessRule(const Model::CreateAccessRuleRequest &request)const;
+			void createAccessRuleAsync(const Model::CreateAccessRuleRequest& request, const CreateAccessRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAccessRuleOutcomeCallable createAccessRuleCallable(const Model::CreateAccessRuleRequest& request) const;
+			CreateAutoSnapshotPolicyOutcome createAutoSnapshotPolicy(const Model::CreateAutoSnapshotPolicyRequest &request)const;
+			void createAutoSnapshotPolicyAsync(const Model::CreateAutoSnapshotPolicyRequest& request, const CreateAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAutoSnapshotPolicyOutcomeCallable createAutoSnapshotPolicyCallable(const Model::CreateAutoSnapshotPolicyRequest& request) const;
+			CreateDataFlowOutcome createDataFlow(const Model::CreateDataFlowRequest &request)const;
+			void createDataFlowAsync(const Model::CreateDataFlowRequest& request, const CreateDataFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDataFlowOutcomeCallable createDataFlowCallable(const Model::CreateDataFlowRequest& request) const;
+			CreateDataFlowTaskOutcome createDataFlowTask(const Model::CreateDataFlowTaskRequest &request)const;
+			void createDataFlowTaskAsync(const Model::CreateDataFlowTaskRequest& request, const CreateDataFlowTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDataFlowTaskOutcomeCallable createDataFlowTaskCallable(const Model::CreateDataFlowTaskRequest& request) const;
+			CreateFileSystemOutcome createFileSystem(const Model::CreateFileSystemRequest &request)const;
+			void createFileSystemAsync(const Model::CreateFileSystemRequest& request, const CreateFileSystemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFileSystemOutcomeCallable createFileSystemCallable(const Model::CreateFileSystemRequest& request) const;
+			CreateFilesetOutcome createFileset(const Model::CreateFilesetRequest &request)const;
+			void createFilesetAsync(const Model::CreateFilesetRequest& request, const CreateFilesetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFilesetOutcomeCallable createFilesetCallable(const Model::CreateFilesetRequest& request) const;
+			CreateLDAPConfigOutcome createLDAPConfig(const Model::CreateLDAPConfigRequest &request)const;
+			void createLDAPConfigAsync(const Model::CreateLDAPConfigRequest& request, const CreateLDAPConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLDAPConfigOutcomeCallable createLDAPConfigCallable(const Model::CreateLDAPConfigRequest& request) const;
+			CreateLifecyclePolicyOutcome createLifecyclePolicy(const Model::CreateLifecyclePolicyRequest &request)const;
+			void createLifecyclePolicyAsync(const Model::CreateLifecyclePolicyRequest& request, const CreateLifecyclePolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLifecyclePolicyOutcomeCallable createLifecyclePolicyCallable(const Model::CreateLifecyclePolicyRequest& request) const;
+			CreateLifecycleRetrieveJobOutcome createLifecycleRetrieveJob(const Model::CreateLifecycleRetrieveJobRequest &request)const;
+			void createLifecycleRetrieveJobAsync(const Model::CreateLifecycleRetrieveJobRequest& request, const CreateLifecycleRetrieveJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLifecycleRetrieveJobOutcomeCallable createLifecycleRetrieveJobCallable(const Model::CreateLifecycleRetrieveJobRequest& request) const;
+			CreateMountTargetOutcome createMountTarget(const Model::CreateMountTargetRequest &request)const;
+			void createMountTargetAsync(const Model::CreateMountTargetRequest& request, const CreateMountTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateMountTargetOutcomeCallable createMountTargetCallable(const Model::CreateMountTargetRequest& request) const;
+			CreateRecycleBinDeleteJobOutcome createRecycleBinDeleteJob(const Model::CreateRecycleBinDeleteJobRequest &request)const;
+			void createRecycleBinDeleteJobAsync(const Model::CreateRecycleBinDeleteJobRequest& request, const CreateRecycleBinDeleteJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateRecycleBinDeleteJobOutcomeCallable createRecycleBinDeleteJobCallable(const Model::CreateRecycleBinDeleteJobRequest& request) const;
+			CreateRecycleBinRestoreJobOutcome createRecycleBinRestoreJob(const Model::CreateRecycleBinRestoreJobRequest &request)const;
+			void createRecycleBinRestoreJobAsync(const Model::CreateRecycleBinRestoreJobRequest& request, const CreateRecycleBinRestoreJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateRecycleBinRestoreJobOutcomeCallable createRecycleBinRestoreJobCallable(const Model::CreateRecycleBinRestoreJobRequest& request) const;
+			CreateSnapshotOutcome createSnapshot(const Model::CreateSnapshotRequest &request)const;
+			void createSnapshotAsync(const Model::CreateSnapshotRequest& request, const CreateSnapshotAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateSnapshotOutcomeCallable createSnapshotCallable(const Model::CreateSnapshotRequest& request) const;
+			DeleteAccessGroupOutcome deleteAccessGroup(const Model::DeleteAccessGroupRequest &request)const;
+			void deleteAccessGroupAsync(const Model::DeleteAccessGroupRequest& request, const DeleteAccessGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAccessGroupOutcomeCallable deleteAccessGroupCallable(const Model::DeleteAccessGroupRequest& request) const;
+			DeleteAccessRuleOutcome deleteAccessRule(const Model::DeleteAccessRuleRequest &request)const;
+			void deleteAccessRuleAsync(const Model::DeleteAccessRuleRequest& request, const DeleteAccessRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAccessRuleOutcomeCallable deleteAccessRuleCallable(const Model::DeleteAccessRuleRequest& request) const;
+			DeleteAutoSnapshotPolicyOutcome deleteAutoSnapshotPolicy(const Model::DeleteAutoSnapshotPolicyRequest &request)const;
+			void deleteAutoSnapshotPolicyAsync(const Model::DeleteAutoSnapshotPolicyRequest& request, const DeleteAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAutoSnapshotPolicyOutcomeCallable deleteAutoSnapshotPolicyCallable(const Model::DeleteAutoSnapshotPolicyRequest& request) const;
+			DeleteDataFlowOutcome deleteDataFlow(const Model::DeleteDataFlowRequest &request)const;
+			void deleteDataFlowAsync(const Model::DeleteDataFlowRequest& request, const DeleteDataFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDataFlowOutcomeCallable deleteDataFlowCallable(const Model::DeleteDataFlowRequest& request) const;
+			DeleteFileSystemOutcome deleteFileSystem(const Model::DeleteFileSystemRequest &request)const;
+			void deleteFileSystemAsync(const Model::DeleteFileSystemRequest& request, const DeleteFileSystemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFileSystemOutcomeCallable deleteFileSystemCallable(const Model::DeleteFileSystemRequest& request) const;
+			DeleteFilesetOutcome deleteFileset(const Model::DeleteFilesetRequest &request)const;
+			void deleteFilesetAsync(const Model::DeleteFilesetRequest& request, const DeleteFilesetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFilesetOutcomeCallable deleteFilesetCallable(const Model::DeleteFilesetRequest& request) const;
+			DeleteLDAPConfigOutcome deleteLDAPConfig(const Model::DeleteLDAPConfigRequest &request)const;
+			void deleteLDAPConfigAsync(const Model::DeleteLDAPConfigRequest& request, const DeleteLDAPConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLDAPConfigOutcomeCallable deleteLDAPConfigCallable(const Model::DeleteLDAPConfigRequest& request) const;
+			DeleteLifecyclePolicyOutcome deleteLifecyclePolicy(const Model::DeleteLifecyclePolicyRequest &request)const;
+			void deleteLifecyclePolicyAsync(const Model::DeleteLifecyclePolicyRequest& request, const DeleteLifecyclePolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLifecyclePolicyOutcomeCallable deleteLifecyclePolicyCallable(const Model::DeleteLifecyclePolicyRequest& request) const;
+			DeleteMountTargetOutcome deleteMountTarget(const Model::DeleteMountTargetRequest &request)const;
+			void deleteMountTargetAsync(const Model::DeleteMountTargetRequest& request, const DeleteMountTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteMountTargetOutcomeCallable deleteMountTargetCallable(const Model::DeleteMountTargetRequest& request) const;
+			DeleteSnapshotOutcome deleteSnapshot(const Model::DeleteSnapshotRequest &request)const;
+			void deleteSnapshotAsync(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteSnapshotOutcomeCallable deleteSnapshotCallable(const Model::DeleteSnapshotRequest& request) const;
+			DescribeAccessGroupsOutcome describeAccessGroups(const Model::DescribeAccessGroupsRequest &request)const;
+			void describeAccessGroupsAsync(const Model::DescribeAccessGroupsRequest& request, const DescribeAccessGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAccessGroupsOutcomeCallable describeAccessGroupsCallable(const Model::DescribeAccessGroupsRequest& request) const;
+			DescribeAccessRulesOutcome describeAccessRules(const Model::DescribeAccessRulesRequest &request)const;
+			void describeAccessRulesAsync(const Model::DescribeAccessRulesRequest& request, const DescribeAccessRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAccessRulesOutcomeCallable describeAccessRulesCallable(const Model::DescribeAccessRulesRequest& request) const;
+			DescribeAutoSnapshotPoliciesOutcome describeAutoSnapshotPolicies(const Model::DescribeAutoSnapshotPoliciesRequest &request)const;
+			void describeAutoSnapshotPoliciesAsync(const Model::DescribeAutoSnapshotPoliciesRequest& request, const DescribeAutoSnapshotPoliciesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAutoSnapshotPoliciesOutcomeCallable describeAutoSnapshotPoliciesCallable(const Model::DescribeAutoSnapshotPoliciesRequest& request) const;
+			DescribeAutoSnapshotTasksOutcome describeAutoSnapshotTasks(const Model::DescribeAutoSnapshotTasksRequest &request)const;
+			void describeAutoSnapshotTasksAsync(const Model::DescribeAutoSnapshotTasksRequest& request, const DescribeAutoSnapshotTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAutoSnapshotTasksOutcomeCallable describeAutoSnapshotTasksCallable(const Model::DescribeAutoSnapshotTasksRequest& request) const;
+			DescribeBlackListClientsOutcome describeBlackListClients(const Model::DescribeBlackListClientsRequest &request)const;
+			void describeBlackListClientsAsync(const Model::DescribeBlackListClientsRequest& request, const DescribeBlackListClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBlackListClientsOutcomeCallable describeBlackListClientsCallable(const Model::DescribeBlackListClientsRequest& request) const;
+			DescribeDataFlowTasksOutcome describeDataFlowTasks(const Model::DescribeDataFlowTasksRequest &request)const;
+			void describeDataFlowTasksAsync(const Model::DescribeDataFlowTasksRequest& request, const DescribeDataFlowTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDataFlowTasksOutcomeCallable describeDataFlowTasksCallable(const Model::DescribeDataFlowTasksRequest& request) const;
+			DescribeDataFlowsOutcome describeDataFlows(const Model::DescribeDataFlowsRequest &request)const;
+			void describeDataFlowsAsync(const Model::DescribeDataFlowsRequest& request, const DescribeDataFlowsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDataFlowsOutcomeCallable describeDataFlowsCallable(const Model::DescribeDataFlowsRequest& request) const;
+			DescribeDirQuotasOutcome describeDirQuotas(const Model::DescribeDirQuotasRequest &request)const;
+			void describeDirQuotasAsync(const Model::DescribeDirQuotasRequest& request, const DescribeDirQuotasAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDirQuotasOutcomeCallable describeDirQuotasCallable(const Model::DescribeDirQuotasRequest& request) const;
+			DescribeFileSystemStatisticsOutcome describeFileSystemStatistics(const Model::DescribeFileSystemStatisticsRequest &request)const;
+			void describeFileSystemStatisticsAsync(const Model::DescribeFileSystemStatisticsRequest& request, const DescribeFileSystemStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFileSystemStatisticsOutcomeCallable describeFileSystemStatisticsCallable(const Model::DescribeFileSystemStatisticsRequest& request) const;
+			DescribeFileSystemsOutcome describeFileSystems(const Model::DescribeFileSystemsRequest &request)const;
+			void describeFileSystemsAsync(const Model::DescribeFileSystemsRequest& request, const DescribeFileSystemsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFileSystemsOutcomeCallable describeFileSystemsCallable(const Model::DescribeFileSystemsRequest& request) const;
+			DescribeFilesetsOutcome describeFilesets(const Model::DescribeFilesetsRequest &request)const;
+			void describeFilesetsAsync(const Model::DescribeFilesetsRequest& request, const DescribeFilesetsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFilesetsOutcomeCallable describeFilesetsCallable(const Model::DescribeFilesetsRequest& request) const;
+			DescribeLDAPConfigOutcome describeLDAPConfig(const Model::DescribeLDAPConfigRequest &request)const;
+			void describeLDAPConfigAsync(const Model::DescribeLDAPConfigRequest& request, const DescribeLDAPConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLDAPConfigOutcomeCallable describeLDAPConfigCallable(const Model::DescribeLDAPConfigRequest& request) const;
+			DescribeLifecyclePoliciesOutcome describeLifecyclePolicies(const Model::DescribeLifecyclePoliciesRequest &request)const;
+			void describeLifecyclePoliciesAsync(const Model::DescribeLifecyclePoliciesRequest& request, const DescribeLifecyclePoliciesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLifecyclePoliciesOutcomeCallable describeLifecyclePoliciesCallable(const Model::DescribeLifecyclePoliciesRequest& request) const;
+			DescribeLogAnalysisOutcome describeLogAnalysis(const Model::DescribeLogAnalysisRequest &request)const;
+			void describeLogAnalysisAsync(const Model::DescribeLogAnalysisRequest& request, const DescribeLogAnalysisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLogAnalysisOutcomeCallable describeLogAnalysisCallable(const Model::DescribeLogAnalysisRequest& request) const;
+			DescribeMountTargetsOutcome describeMountTargets(const Model::DescribeMountTargetsRequest &request)const;
+			void describeMountTargetsAsync(const Model::DescribeMountTargetsRequest& request, const DescribeMountTargetsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeMountTargetsOutcomeCallable describeMountTargetsCallable(const Model::DescribeMountTargetsRequest& request) const;
+			DescribeMountedClientsOutcome describeMountedClients(const Model::DescribeMountedClientsRequest &request)const;
+			void describeMountedClientsAsync(const Model::DescribeMountedClientsRequest& request, const DescribeMountedClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeMountedClientsOutcomeCallable describeMountedClientsCallable(const Model::DescribeMountedClientsRequest& request) const;
+			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
+			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
+			DescribeSmbAclOutcome describeSmbAcl(const Model::DescribeSmbAclRequest &request)const;
+			void describeSmbAclAsync(const Model::DescribeSmbAclRequest& request, const DescribeSmbAclAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSmbAclOutcomeCallable describeSmbAclCallable(const Model::DescribeSmbAclRequest& request) const;
+			DescribeSnapshotsOutcome describeSnapshots(const Model::DescribeSnapshotsRequest &request)const;
+			void describeSnapshotsAsync(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSnapshotsOutcomeCallable describeSnapshotsCallable(const Model::DescribeSnapshotsRequest& request) const;
+			DescribeStoragePackagesOutcome describeStoragePackages(const Model::DescribeStoragePackagesRequest &request)const;
+			void describeStoragePackagesAsync(const Model::DescribeStoragePackagesRequest& request, const DescribeStoragePackagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeStoragePackagesOutcomeCallable describeStoragePackagesCallable(const Model::DescribeStoragePackagesRequest& request) const;
+			DescribeTagsOutcome describeTags(const Model::DescribeTagsRequest &request)const;
+			void describeTagsAsync(const Model::DescribeTagsRequest& request, const DescribeTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeTagsOutcomeCallable describeTagsCallable(const Model::DescribeTagsRequest& request) const;
+			DescribeZonesOutcome describeZones(const Model::DescribeZonesRequest &request)const;
+			void describeZonesAsync(const Model::DescribeZonesRequest& request, const DescribeZonesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeZonesOutcomeCallable describeZonesCallable(const Model::DescribeZonesRequest& request) const;
+			DisableAndCleanRecycleBinOutcome disableAndCleanRecycleBin(const Model::DisableAndCleanRecycleBinRequest &request)const;
+			void disableAndCleanRecycleBinAsync(const Model::DisableAndCleanRecycleBinRequest& request, const DisableAndCleanRecycleBinAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DisableAndCleanRecycleBinOutcomeCallable disableAndCleanRecycleBinCallable(const Model::DisableAndCleanRecycleBinRequest& request) const;
+			DisableSmbAclOutcome disableSmbAcl(const Model::DisableSmbAclRequest &request)const;
+			void disableSmbAclAsync(const Model::DisableSmbAclRequest& request, const DisableSmbAclAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DisableSmbAclOutcomeCallable disableSmbAclCallable(const Model::DisableSmbAclRequest& request) const;
+			EnableRecycleBinOutcome enableRecycleBin(const Model::EnableRecycleBinRequest &request)const;
+			void enableRecycleBinAsync(const Model::EnableRecycleBinRequest& request, const EnableRecycleBinAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableRecycleBinOutcomeCallable enableRecycleBinCallable(const Model::EnableRecycleBinRequest& request) const;
+			EnableSmbAclOutcome enableSmbAcl(const Model::EnableSmbAclRequest &request)const;
+			void enableSmbAclAsync(const Model::EnableSmbAclRequest& request, const EnableSmbAclAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableSmbAclOutcomeCallable enableSmbAclCallable(const Model::EnableSmbAclRequest& request) const;
+			GetDirectoryOrFilePropertiesOutcome getDirectoryOrFileProperties(const Model::GetDirectoryOrFilePropertiesRequest &request)const;
+			void getDirectoryOrFilePropertiesAsync(const Model::GetDirectoryOrFilePropertiesRequest& request, const GetDirectoryOrFilePropertiesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDirectoryOrFilePropertiesOutcomeCallable getDirectoryOrFilePropertiesCallable(const Model::GetDirectoryOrFilePropertiesRequest& request) const;
+			GetRecycleBinAttributeOutcome getRecycleBinAttribute(const Model::GetRecycleBinAttributeRequest &request)const;
+			void getRecycleBinAttributeAsync(const Model::GetRecycleBinAttributeRequest& request, const GetRecycleBinAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetRecycleBinAttributeOutcomeCallable getRecycleBinAttributeCallable(const Model::GetRecycleBinAttributeRequest& request) const;
+			ListDirectoriesAndFilesOutcome listDirectoriesAndFiles(const Model::ListDirectoriesAndFilesRequest &request)const;
+			void listDirectoriesAndFilesAsync(const Model::ListDirectoriesAndFilesRequest& request, const ListDirectoriesAndFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDirectoriesAndFilesOutcomeCallable listDirectoriesAndFilesCallable(const Model::ListDirectoriesAndFilesRequest& request) const;
+			ListLifecycleRetrieveJobsOutcome listLifecycleRetrieveJobs(const Model::ListLifecycleRetrieveJobsRequest &request)const;
+			void listLifecycleRetrieveJobsAsync(const Model::ListLifecycleRetrieveJobsRequest& request, const ListLifecycleRetrieveJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListLifecycleRetrieveJobsOutcomeCallable listLifecycleRetrieveJobsCallable(const Model::ListLifecycleRetrieveJobsRequest& request) const;
+			ListRecentlyRecycledDirectoriesOutcome listRecentlyRecycledDirectories(const Model::ListRecentlyRecycledDirectoriesRequest &request)const;
+			void listRecentlyRecycledDirectoriesAsync(const Model::ListRecentlyRecycledDirectoriesRequest& request, const ListRecentlyRecycledDirectoriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRecentlyRecycledDirectoriesOutcomeCallable listRecentlyRecycledDirectoriesCallable(const Model::ListRecentlyRecycledDirectoriesRequest& request) const;
+			ListRecycleBinJobsOutcome listRecycleBinJobs(const Model::ListRecycleBinJobsRequest &request)const;
+			void listRecycleBinJobsAsync(const Model::ListRecycleBinJobsRequest& request, const ListRecycleBinJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRecycleBinJobsOutcomeCallable listRecycleBinJobsCallable(const Model::ListRecycleBinJobsRequest& request) const;
+			ListRecycledDirectoriesAndFilesOutcome listRecycledDirectoriesAndFiles(const Model::ListRecycledDirectoriesAndFilesRequest &request)const;
+			void listRecycledDirectoriesAndFilesAsync(const Model::ListRecycledDirectoriesAndFilesRequest& request, const ListRecycledDirectoriesAndFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRecycledDirectoriesAndFilesOutcomeCallable listRecycledDirectoriesAndFilesCallable(const Model::ListRecycledDirectoriesAndFilesRequest& request) const;
+			ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
+			void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
+			ModifyAccessGroupOutcome modifyAccessGroup(const Model::ModifyAccessGroupRequest &request)const;
+			void modifyAccessGroupAsync(const Model::ModifyAccessGroupRequest& request, const ModifyAccessGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyAccessGroupOutcomeCallable modifyAccessGroupCallable(const Model::ModifyAccessGroupRequest& request) const;
+			ModifyAccessRuleOutcome modifyAccessRule(const Model::ModifyAccessRuleRequest &request)const;
+			void modifyAccessRuleAsync(const Model::ModifyAccessRuleRequest& request, const ModifyAccessRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyAccessRuleOutcomeCallable modifyAccessRuleCallable(const Model::ModifyAccessRuleRequest& request) const;
+			ModifyAutoSnapshotPolicyOutcome modifyAutoSnapshotPolicy(const Model::ModifyAutoSnapshotPolicyRequest &request)const;
+			void modifyAutoSnapshotPolicyAsync(const Model::ModifyAutoSnapshotPolicyRequest& request, const ModifyAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyAutoSnapshotPolicyOutcomeCallable modifyAutoSnapshotPolicyCallable(const Model::ModifyAutoSnapshotPolicyRequest& request) const;
+			ModifyDataFlowOutcome modifyDataFlow(const Model::ModifyDataFlowRequest &request)const;
+			void modifyDataFlowAsync(const Model::ModifyDataFlowRequest& request, const ModifyDataFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDataFlowOutcomeCallable modifyDataFlowCallable(const Model::ModifyDataFlowRequest& request) const;
+			ModifyDataFlowAutoRefreshOutcome modifyDataFlowAutoRefresh(const Model::ModifyDataFlowAutoRefreshRequest &request)const;
+			void modifyDataFlowAutoRefreshAsync(const Model::ModifyDataFlowAutoRefreshRequest& request, const ModifyDataFlowAutoRefreshAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDataFlowAutoRefreshOutcomeCallable modifyDataFlowAutoRefreshCallable(const Model::ModifyDataFlowAutoRefreshRequest& request) const;
+			ModifyFileSystemOutcome modifyFileSystem(const Model::ModifyFileSystemRequest &request)const;
+			void modifyFileSystemAsync(const Model::ModifyFileSystemRequest& request, const ModifyFileSystemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyFileSystemOutcomeCallable modifyFileSystemCallable(const Model::ModifyFileSystemRequest& request) const;
+			ModifyFilesetOutcome modifyFileset(const Model::ModifyFilesetRequest &request)const;
+			void modifyFilesetAsync(const Model::ModifyFilesetRequest& request, const ModifyFilesetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyFilesetOutcomeCallable modifyFilesetCallable(const Model::ModifyFilesetRequest& request) const;
+			ModifyLDAPConfigOutcome modifyLDAPConfig(const Model::ModifyLDAPConfigRequest &request)const;
+			void modifyLDAPConfigAsync(const Model::ModifyLDAPConfigRequest& request, const ModifyLDAPConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyLDAPConfigOutcomeCallable modifyLDAPConfigCallable(const Model::ModifyLDAPConfigRequest& request) const;
+			ModifyLifecyclePolicyOutcome modifyLifecyclePolicy(const Model::ModifyLifecyclePolicyRequest &request)const;
+			void modifyLifecyclePolicyAsync(const Model::ModifyLifecyclePolicyRequest& request, const ModifyLifecyclePolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyLifecyclePolicyOutcomeCallable modifyLifecyclePolicyCallable(const Model::ModifyLifecyclePolicyRequest& request) const;
+			ModifyMountTargetOutcome modifyMountTarget(const Model::ModifyMountTargetRequest &request)const;
+			void modifyMountTargetAsync(const Model::ModifyMountTargetRequest& request, const ModifyMountTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyMountTargetOutcomeCallable modifyMountTargetCallable(const Model::ModifyMountTargetRequest& request) const;
+			ModifySmbAclOutcome modifySmbAcl(const Model::ModifySmbAclRequest &request)const;
+			void modifySmbAclAsync(const Model::ModifySmbAclRequest& request, const ModifySmbAclAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifySmbAclOutcomeCallable modifySmbAclCallable(const Model::ModifySmbAclRequest& request) const;
+			OpenNASServiceOutcome openNASService(const Model::OpenNASServiceRequest &request)const;
+			void openNASServiceAsync(const Model::OpenNASServiceRequest& request, const OpenNASServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			OpenNASServiceOutcomeCallable openNASServiceCallable(const Model::OpenNASServiceRequest& request) const;
+			RemoveClientFromBlackListOutcome removeClientFromBlackList(const Model::RemoveClientFromBlackListRequest &request)const;
+			void removeClientFromBlackListAsync(const Model::RemoveClientFromBlackListRequest& request, const RemoveClientFromBlackListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveClientFromBlackListOutcomeCallable removeClientFromBlackListCallable(const Model::RemoveClientFromBlackListRequest& request) const;
+			RemoveTagsOutcome removeTags(const Model::RemoveTagsRequest &request)const;
+			void removeTagsAsync(const Model::RemoveTagsRequest& request, const RemoveTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveTagsOutcomeCallable removeTagsCallable(const Model::RemoveTagsRequest& request) const;
+			ResetFileSystemOutcome resetFileSystem(const Model::ResetFileSystemRequest &request)const;
+			void resetFileSystemAsync(const Model::ResetFileSystemRequest& request, const ResetFileSystemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResetFileSystemOutcomeCallable resetFileSystemCallable(const Model::ResetFileSystemRequest& request) const;
+			RetryLifecycleRetrieveJobOutcome retryLifecycleRetrieveJob(const Model::RetryLifecycleRetrieveJobRequest &request)const;
+			void retryLifecycleRetrieveJobAsync(const Model::RetryLifecycleRetrieveJobRequest& request, const RetryLifecycleRetrieveJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RetryLifecycleRetrieveJobOutcomeCallable retryLifecycleRetrieveJobCallable(const Model::RetryLifecycleRetrieveJobRequest& request) const;
+			SetDirQuotaOutcome setDirQuota(const Model::SetDirQuotaRequest &request)const;
+			void setDirQuotaAsync(const Model::SetDirQuotaRequest& request, const SetDirQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetDirQuotaOutcomeCallable setDirQuotaCallable(const Model::SetDirQuotaRequest& request) const;
+			StartDataFlowOutcome startDataFlow(const Model::StartDataFlowRequest &request)const;
+			void startDataFlowAsync(const Model::StartDataFlowRequest& request, const StartDataFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartDataFlowOutcomeCallable startDataFlowCallable(const Model::StartDataFlowRequest& request) const;
+			StopDataFlowOutcome stopDataFlow(const Model::StopDataFlowRequest &request)const;
+			void stopDataFlowAsync(const Model::StopDataFlowRequest& request, const StopDataFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopDataFlowOutcomeCallable stopDataFlowCallable(const Model::StopDataFlowRequest& request) const;
+			TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
+			void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
+			UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
+			void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
+			UpdateRecycleBinAttributeOutcome updateRecycleBinAttribute(const Model::UpdateRecycleBinAttributeRequest &request)const;
+			void updateRecycleBinAttributeAsync(const Model::UpdateRecycleBinAttributeRequest& request, const UpdateRecycleBinAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRecycleBinAttributeOutcomeCallable updateRecycleBinAttributeCallable(const Model::UpdateRecycleBinAttributeRequest& request) const;
+			UpgradeFileSystemOutcome upgradeFileSystem(const Model::UpgradeFileSystemRequest &request)const;
+			void upgradeFileSystemAsync(const Model::UpgradeFileSystemRequest& request, const UpgradeFileSystemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpgradeFileSystemOutcomeCallable upgradeFileSystemCallable(const Model::UpgradeFileSystemRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_NAS_NASCLIENT_H_

+ 32 - 0
nas/include/alibabacloud/nas/NASExport.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_NAS_NASEXPORT_H_
+#define ALIBABACLOUD_NAS_NASEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_NAS_LIBRARY)
+#		define ALIBABACLOUD_NAS_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_NAS_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_NAS_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_NAS_NASEXPORT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/AddClientToBlackListRequest.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_NAS_MODEL_ADDCLIENTTOBLACKLISTREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_ADDCLIENTTOBLACKLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT AddClientToBlackListRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddClientToBlackListRequest();
+				~AddClientToBlackListRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getClientIP()const;
+				void setClientIP(const std::string& clientIP);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+
+            private:
+				std::string clientToken_;
+				std::string regionId_;
+				std::string clientIP_;
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_ADDCLIENTTOBLACKLISTREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/AddClientToBlackListResult.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_NAS_MODEL_ADDCLIENTTOBLACKLISTRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_ADDCLIENTTOBLACKLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT AddClientToBlackListResult : public ServiceResult
+			{
+			public:
+
+
+				AddClientToBlackListResult();
+				explicit AddClientToBlackListResult(const std::string &payload);
+				~AddClientToBlackListResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_ADDCLIENTTOBLACKLISTRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/AddTagsRequest.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_NAS_MODEL_ADDTAGSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_ADDTAGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT AddTagsRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				AddTagsRequest();
+				~AddTagsRequest();
+
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+
+            private:
+				std::vector<Tag> tag_;
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_ADDTAGSREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/AddTagsResult.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_NAS_MODEL_ADDTAGSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_ADDTAGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT AddTagsResult : public ServiceResult
+			{
+			public:
+
+
+				AddTagsResult();
+				explicit AddTagsResult(const std::string &payload);
+				~AddTagsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_ADDTAGSRESULT_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/ApplyAutoSnapshotPolicyRequest.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_NAS_MODEL_APPLYAUTOSNAPSHOTPOLICYREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_APPLYAUTOSNAPSHOTPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT ApplyAutoSnapshotPolicyRequest : public RpcServiceRequest
+			{
+
+			public:
+				ApplyAutoSnapshotPolicyRequest();
+				~ApplyAutoSnapshotPolicyRequest();
+
+				std::string getAutoSnapshotPolicyId()const;
+				void setAutoSnapshotPolicyId(const std::string& autoSnapshotPolicyId);
+				std::string getFileSystemIds()const;
+				void setFileSystemIds(const std::string& fileSystemIds);
+
+            private:
+				std::string autoSnapshotPolicyId_;
+				std::string fileSystemIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_APPLYAUTOSNAPSHOTPOLICYREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/ApplyAutoSnapshotPolicyResult.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_NAS_MODEL_APPLYAUTOSNAPSHOTPOLICYRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_APPLYAUTOSNAPSHOTPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT ApplyAutoSnapshotPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				ApplyAutoSnapshotPolicyResult();
+				explicit ApplyAutoSnapshotPolicyResult(const std::string &payload);
+				~ApplyAutoSnapshotPolicyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_APPLYAUTOSNAPSHOTPOLICYRESULT_H_

+ 71 - 0
nas/include/alibabacloud/nas/model/ApplyDataFlowAutoRefreshRequest.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_NAS_MODEL_APPLYDATAFLOWAUTOREFRESHREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_APPLYDATAFLOWAUTOREFRESHREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT ApplyDataFlowAutoRefreshRequest : public RpcServiceRequest
+			{
+			public:
+				struct AutoRefreshs
+				{
+					std::string refreshPath;
+				};
+
+			public:
+				ApplyDataFlowAutoRefreshRequest();
+				~ApplyDataFlowAutoRefreshRequest();
+
+				std::string getAutoRefreshPolicy()const;
+				void setAutoRefreshPolicy(const std::string& autoRefreshPolicy);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::vector<AutoRefreshs> getAutoRefreshs()const;
+				void setAutoRefreshs(const std::vector<AutoRefreshs>& autoRefreshs);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getDataFlowId()const;
+				void setDataFlowId(const std::string& dataFlowId);
+				long getAutoRefreshInterval()const;
+				void setAutoRefreshInterval(long autoRefreshInterval);
+
+            private:
+				std::string autoRefreshPolicy_;
+				std::string clientToken_;
+				std::vector<AutoRefreshs> autoRefreshs_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string dataFlowId_;
+				long autoRefreshInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_APPLYDATAFLOWAUTOREFRESHREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/ApplyDataFlowAutoRefreshResult.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_NAS_MODEL_APPLYDATAFLOWAUTOREFRESHRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_APPLYDATAFLOWAUTOREFRESHRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT ApplyDataFlowAutoRefreshResult : public ServiceResult
+			{
+			public:
+
+
+				ApplyDataFlowAutoRefreshResult();
+				explicit ApplyDataFlowAutoRefreshResult(const std::string &payload);
+				~ApplyDataFlowAutoRefreshResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_APPLYDATAFLOWAUTOREFRESHRESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/CancelAutoSnapshotPolicyRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/CancelAutoSnapshotPolicyResult.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_NAS_MODEL_CANCELAUTOSNAPSHOTPOLICYRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELAUTOSNAPSHOTPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelAutoSnapshotPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				CancelAutoSnapshotPolicyResult();
+				explicit CancelAutoSnapshotPolicyResult(const std::string &payload);
+				~CancelAutoSnapshotPolicyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELAUTOSNAPSHOTPOLICYRESULT_H_

+ 60 - 0
nas/include/alibabacloud/nas/model/CancelDataFlowAutoRefreshRequest.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_NAS_MODEL_CANCELDATAFLOWAUTOREFRESHREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWAUTOREFRESHREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelDataFlowAutoRefreshRequest : public RpcServiceRequest
+			{
+
+			public:
+				CancelDataFlowAutoRefreshRequest();
+				~CancelDataFlowAutoRefreshRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getRefreshPath()const;
+				void setRefreshPath(const std::string& refreshPath);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getDataFlowId()const;
+				void setDataFlowId(const std::string& dataFlowId);
+
+            private:
+				std::string clientToken_;
+				std::string refreshPath_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string dataFlowId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWAUTOREFRESHREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/CancelDataFlowAutoRefreshResult.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_NAS_MODEL_CANCELDATAFLOWAUTOREFRESHRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWAUTOREFRESHRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelDataFlowAutoRefreshResult : public ServiceResult
+			{
+			public:
+
+
+				CancelDataFlowAutoRefreshResult();
+				explicit CancelDataFlowAutoRefreshResult(const std::string &payload);
+				~CancelDataFlowAutoRefreshResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWAUTOREFRESHRESULT_H_

+ 60 - 0
nas/include/alibabacloud/nas/model/CancelDataFlowTaskRequest.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_NAS_MODEL_CANCELDATAFLOWTASKREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWTASKREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelDataFlowTaskRequest : public RpcServiceRequest
+			{
+
+			public:
+				CancelDataFlowTaskRequest();
+				~CancelDataFlowTaskRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getDataFlowId()const;
+				void setDataFlowId(const std::string& dataFlowId);
+
+            private:
+				std::string clientToken_;
+				std::string taskId_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string dataFlowId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWTASKREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/CancelDataFlowTaskResult.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_NAS_MODEL_CANCELDATAFLOWTASKRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWTASKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelDataFlowTaskResult : public ServiceResult
+			{
+			public:
+
+
+				CancelDataFlowTaskResult();
+				explicit CancelDataFlowTaskResult(const std::string &payload);
+				~CancelDataFlowTaskResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELDATAFLOWTASKRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/CancelDirQuotaRequest.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_NAS_MODEL_CANCELDIRQUOTAREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELDIRQUOTAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelDirQuotaRequest : public RpcServiceRequest
+			{
+
+			public:
+				CancelDirQuotaRequest();
+				~CancelDirQuotaRequest();
+
+				std::string getUserId()const;
+				void setUserId(const std::string& userId);
+				std::string getPath()const;
+				void setPath(const std::string& path);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getUserType()const;
+				void setUserType(const std::string& userType);
+
+            private:
+				std::string userId_;
+				std::string path_;
+				std::string fileSystemId_;
+				std::string userType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELDIRQUOTAREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CancelDirQuotaResult.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_NAS_MODEL_CANCELDIRQUOTARESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELDIRQUOTARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelDirQuotaResult : public ServiceResult
+			{
+			public:
+
+
+				CancelDirQuotaResult();
+				explicit CancelDirQuotaResult(const std::string &payload);
+				~CancelDirQuotaResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELDIRQUOTARESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/CancelLifecycleRetrieveJobRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/CancelLifecycleRetrieveJobResult.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_NAS_MODEL_CANCELLIFECYCLERETRIEVEJOBRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELLIFECYCLERETRIEVEJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelLifecycleRetrieveJobResult : public ServiceResult
+			{
+			public:
+
+
+				CancelLifecycleRetrieveJobResult();
+				explicit CancelLifecycleRetrieveJobResult(const std::string &payload);
+				~CancelLifecycleRetrieveJobResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELLIFECYCLERETRIEVEJOBRESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/CancelRecycleBinJobRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/CancelRecycleBinJobResult.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_NAS_MODEL_CANCELRECYCLEBINJOBRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CANCELRECYCLEBINJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CancelRecycleBinJobResult : public ServiceResult
+			{
+			public:
+
+
+				CancelRecycleBinJobResult();
+				explicit CancelRecycleBinJobResult(const std::string &payload);
+				~CancelRecycleBinJobResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CANCELRECYCLEBINJOBRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/CreateAccessGroupRequest.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_NAS_MODEL_CREATEACCESSGROUPREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEACCESSGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateAccessGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateAccessGroupRequest();
+				~CreateAccessGroupRequest();
+
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getAccessGroupType()const;
+				void setAccessGroupType(const std::string& accessGroupType);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+
+            private:
+				std::string description_;
+				std::string fileSystemType_;
+				std::string accessGroupType_;
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEACCESSGROUPREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateAccessGroupResult.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_NAS_MODEL_CREATEACCESSGROUPRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEACCESSGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateAccessGroupResult : public ServiceResult
+			{
+			public:
+
+
+				CreateAccessGroupResult();
+				explicit CreateAccessGroupResult(const std::string &payload);
+				~CreateAccessGroupResult();
+				std::string getAccessGroupName()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEACCESSGROUPRESULT_H_

+ 66 - 0
nas/include/alibabacloud/nas/model/CreateAccessRuleRequest.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_NAS_MODEL_CREATEACCESSRULEREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEACCESSRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateAccessRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateAccessRuleRequest();
+				~CreateAccessRuleRequest();
+
+				std::string getRWAccessType()const;
+				void setRWAccessType(const std::string& rWAccessType);
+				std::string getUserAccessType()const;
+				void setUserAccessType(const std::string& userAccessType);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getIpv6SourceCidrIp()const;
+				void setIpv6SourceCidrIp(const std::string& ipv6SourceCidrIp);
+				std::string getSourceCidrIp()const;
+				void setSourceCidrIp(const std::string& sourceCidrIp);
+				int getPriority()const;
+				void setPriority(int priority);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+
+            private:
+				std::string rWAccessType_;
+				std::string userAccessType_;
+				std::string fileSystemType_;
+				std::string ipv6SourceCidrIp_;
+				std::string sourceCidrIp_;
+				int priority_;
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEACCESSRULEREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateAccessRuleResult.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_NAS_MODEL_CREATEACCESSRULERESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEACCESSRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateAccessRuleResult : public ServiceResult
+			{
+			public:
+
+
+				CreateAccessRuleResult();
+				explicit CreateAccessRuleResult(const std::string &payload);
+				~CreateAccessRuleResult();
+				std::string getAccessRuleId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string accessRuleId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEACCESSRULERESULT_H_

+ 60 - 0
nas/include/alibabacloud/nas/model/CreateAutoSnapshotPolicyRequest.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_NAS_MODEL_CREATEAUTOSNAPSHOTPOLICYREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEAUTOSNAPSHOTPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateAutoSnapshotPolicyRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateAutoSnapshotPolicyRequest();
+				~CreateAutoSnapshotPolicyRequest();
+
+				std::string getTimePoints()const;
+				void setTimePoints(const std::string& timePoints);
+				std::string getRepeatWeekdays()const;
+				void setRepeatWeekdays(const std::string& repeatWeekdays);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getAutoSnapshotPolicyName()const;
+				void setAutoSnapshotPolicyName(const std::string& autoSnapshotPolicyName);
+				int getRetentionDays()const;
+				void setRetentionDays(int retentionDays);
+
+            private:
+				std::string timePoints_;
+				std::string repeatWeekdays_;
+				std::string fileSystemType_;
+				std::string autoSnapshotPolicyName_;
+				int retentionDays_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEAUTOSNAPSHOTPOLICYREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateAutoSnapshotPolicyResult.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_NAS_MODEL_CREATEAUTOSNAPSHOTPOLICYRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEAUTOSNAPSHOTPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateAutoSnapshotPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				CreateAutoSnapshotPolicyResult();
+				explicit CreateAutoSnapshotPolicyResult(const std::string &payload);
+				~CreateAutoSnapshotPolicyResult();
+				std::string getAutoSnapshotPolicyId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string autoSnapshotPolicyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEAUTOSNAPSHOTPOLICYRESULT_H_

+ 83 - 0
nas/include/alibabacloud/nas/model/CreateDataFlowRequest.h

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_NAS_MODEL_CREATEDATAFLOWREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateDataFlowRequest : public RpcServiceRequest
+			{
+			public:
+				struct AutoRefreshs
+				{
+					std::string refreshPath;
+				};
+
+			public:
+				CreateDataFlowRequest();
+				~CreateDataFlowRequest();
+
+				std::string getAutoRefreshPolicy()const;
+				void setAutoRefreshPolicy(const std::string& autoRefreshPolicy);
+				std::string getFsetId()const;
+				void setFsetId(const std::string& fsetId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::vector<AutoRefreshs> getAutoRefreshs()const;
+				void setAutoRefreshs(const std::vector<AutoRefreshs>& autoRefreshs);
+				std::string getSourceSecurityType()const;
+				void setSourceSecurityType(const std::string& sourceSecurityType);
+				std::string getSourceStorage()const;
+				void setSourceStorage(const std::string& sourceStorage);
+				long getThroughput()const;
+				void setThroughput(long throughput);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				long getAutoRefreshInterval()const;
+				void setAutoRefreshInterval(long autoRefreshInterval);
+
+            private:
+				std::string autoRefreshPolicy_;
+				std::string fsetId_;
+				std::string clientToken_;
+				std::string description_;
+				std::vector<AutoRefreshs> autoRefreshs_;
+				std::string sourceSecurityType_;
+				std::string sourceStorage_;
+				long throughput_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				long autoRefreshInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateDataFlowResult.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_NAS_MODEL_CREATEDATAFLOWRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateDataFlowResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDataFlowResult();
+				explicit CreateDataFlowResult(const std::string &payload);
+				~CreateDataFlowResult();
+				std::string getDataFlowId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string dataFlowId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWRESULT_H_

+ 72 - 0
nas/include/alibabacloud/nas/model/CreateDataFlowTaskRequest.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_NAS_MODEL_CREATEDATAFLOWTASKREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWTASKREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateDataFlowTaskRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateDataFlowTaskRequest();
+				~CreateDataFlowTaskRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getDirectory()const;
+				void setDirectory(const std::string& directory);
+				std::string getSrcTaskId()const;
+				void setSrcTaskId(const std::string& srcTaskId);
+				std::string getDataType()const;
+				void setDataType(const std::string& dataType);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getDataFlowId()const;
+				void setDataFlowId(const std::string& dataFlowId);
+				std::string getEntryList()const;
+				void setEntryList(const std::string& entryList);
+				std::string getTaskAction()const;
+				void setTaskAction(const std::string& taskAction);
+
+            private:
+				std::string clientToken_;
+				std::string directory_;
+				std::string srcTaskId_;
+				std::string dataType_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string dataFlowId_;
+				std::string entryList_;
+				std::string taskAction_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWTASKREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateDataFlowTaskResult.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_NAS_MODEL_CREATEDATAFLOWTASKRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWTASKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateDataFlowTaskResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDataFlowTaskResult();
+				explicit CreateDataFlowTaskResult(const std::string &payload);
+				~CreateDataFlowTaskResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEDATAFLOWTASKRESULT_H_

+ 93 - 0
nas/include/alibabacloud/nas/model/CreateFileSystemRequest.h

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_NAS_MODEL_CREATEFILESYSTEMREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEFILESYSTEMREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateFileSystemRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateFileSystemRequest();
+				~CreateFileSystemRequest();
+
+				std::string getSnapshotId()const;
+				void setSnapshotId(const std::string& snapshotId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getStorageType()const;
+				void setStorageType(const std::string& storageType);
+				long getCapacity()const;
+				void setCapacity(long capacity);
+				int getEncryptType()const;
+				void setEncryptType(int encryptType);
+				int getDuration()const;
+				void setDuration(int duration);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				long getBandwidth()const;
+				void setBandwidth(long bandwidth);
+				std::string getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getProtocolType()const;
+				void setProtocolType(const std::string& protocolType);
+				std::string getChargeType()const;
+				void setChargeType(const std::string& chargeType);
+				std::string getKmsKeyId()const;
+				void setKmsKeyId(const std::string& kmsKeyId);
+
+            private:
+				std::string snapshotId_;
+				std::string clientToken_;
+				std::string description_;
+				std::string fileSystemType_;
+				std::string storageType_;
+				long capacity_;
+				int encryptType_;
+				int duration_;
+				bool dryRun_;
+				long bandwidth_;
+				std::string vSwitchId_;
+				std::string vpcId_;
+				std::string zoneId_;
+				std::string protocolType_;
+				std::string chargeType_;
+				std::string kmsKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEFILESYSTEMREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateFileSystemResult.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_NAS_MODEL_CREATEFILESYSTEMRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEFILESYSTEMRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateFileSystemResult : public ServiceResult
+			{
+			public:
+
+
+				CreateFileSystemResult();
+				explicit CreateFileSystemResult(const std::string &payload);
+				~CreateFileSystemResult();
+				std::string getFileSystemId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEFILESYSTEMRESULT_H_

+ 60 - 0
nas/include/alibabacloud/nas/model/CreateFilesetRequest.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_NAS_MODEL_CREATEFILESETREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEFILESETREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateFilesetRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateFilesetRequest();
+				~CreateFilesetRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getFileSystemPath()const;
+				void setFileSystemPath(const std::string& fileSystemPath);
+
+            private:
+				std::string clientToken_;
+				std::string description_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string fileSystemPath_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEFILESETREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateFilesetResult.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_NAS_MODEL_CREATEFILESETRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEFILESETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateFilesetResult : public ServiceResult
+			{
+			public:
+
+
+				CreateFilesetResult();
+				explicit CreateFilesetResult(const std::string &payload);
+				~CreateFilesetResult();
+				std::string getFsetId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string fsetId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEFILESETRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/CreateLDAPConfigRequest.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_NAS_MODEL_CREATELDAPCONFIGREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATELDAPCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateLDAPConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateLDAPConfigRequest();
+				~CreateLDAPConfigRequest();
+
+				std::string getSearchBase()const;
+				void setSearchBase(const std::string& searchBase);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getURI()const;
+				void setURI(const std::string& uRI);
+				std::string getBindDN()const;
+				void setBindDN(const std::string& bindDN);
+
+            private:
+				std::string searchBase_;
+				std::string fileSystemId_;
+				std::string uRI_;
+				std::string bindDN_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATELDAPCONFIGREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/CreateLDAPConfigResult.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_NAS_MODEL_CREATELDAPCONFIGRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATELDAPCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateLDAPConfigResult : public ServiceResult
+			{
+			public:
+
+
+				CreateLDAPConfigResult();
+				explicit CreateLDAPConfigResult(const std::string &payload);
+				~CreateLDAPConfigResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATELDAPCONFIGRESULT_H_

+ 63 - 0
nas/include/alibabacloud/nas/model/CreateLifecyclePolicyRequest.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_NAS_MODEL_CREATELIFECYCLEPOLICYREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLEPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateLifecyclePolicyRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateLifecyclePolicyRequest();
+				~CreateLifecyclePolicyRequest();
+
+				std::string getStorageType()const;
+				void setStorageType(const std::string& storageType);
+				std::string getPath()const;
+				void setPath(const std::string& path);
+				std::string getLifecyclePolicyName()const;
+				void setLifecyclePolicyName(const std::string& lifecyclePolicyName);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getLifecycleRuleName()const;
+				void setLifecycleRuleName(const std::string& lifecycleRuleName);
+				std::vector<std::string> getPaths()const;
+				void setPaths(const std::vector<std::string>& paths);
+
+            private:
+				std::string storageType_;
+				std::string path_;
+				std::string lifecyclePolicyName_;
+				std::string fileSystemId_;
+				std::string lifecycleRuleName_;
+				std::vector<std::string> paths_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLEPOLICYREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateLifecyclePolicyResult.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_NAS_MODEL_CREATELIFECYCLEPOLICYRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLEPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateLifecyclePolicyResult : public ServiceResult
+			{
+			public:
+
+
+				CreateLifecyclePolicyResult();
+				explicit CreateLifecyclePolicyResult(const std::string &payload);
+				~CreateLifecyclePolicyResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLEPOLICYRESULT_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateLifecycleRetrieveJobRequest.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_NAS_MODEL_CREATELIFECYCLERETRIEVEJOBREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLERETRIEVEJOBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateLifecycleRetrieveJobRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateLifecycleRetrieveJobRequest();
+				~CreateLifecycleRetrieveJobRequest();
+
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::vector<std::string> getPaths()const;
+				void setPaths(const std::vector<std::string>& paths);
+
+            private:
+				std::string fileSystemId_;
+				std::vector<std::string> paths_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLERETRIEVEJOBREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateLifecycleRetrieveJobResult.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_NAS_MODEL_CREATELIFECYCLERETRIEVEJOBRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLERETRIEVEJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateLifecycleRetrieveJobResult : public ServiceResult
+			{
+			public:
+
+
+				CreateLifecycleRetrieveJobResult();
+				explicit CreateLifecycleRetrieveJobResult(const std::string &payload);
+				~CreateLifecycleRetrieveJobResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATELIFECYCLERETRIEVEJOBRESULT_H_

+ 69 - 0
nas/include/alibabacloud/nas/model/CreateMountTargetRequest.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_NAS_MODEL_CREATEMOUNTTARGETREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEMOUNTTARGETREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateMountTargetRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateMountTargetRequest();
+				~CreateMountTargetRequest();
+
+				std::string getSecurityGroupId()const;
+				void setSecurityGroupId(const std::string& securityGroupId);
+				bool getEnableIpv6()const;
+				void setEnableIpv6(bool enableIpv6);
+				std::string getNetworkType()const;
+				void setNetworkType(const std::string& networkType);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+				std::string getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+
+            private:
+				std::string securityGroupId_;
+				bool enableIpv6_;
+				std::string networkType_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string accessGroupName_;
+				std::string vSwitchId_;
+				std::string vpcId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEMOUNTTARGETREQUEST_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/CreateMountTargetResult.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_NAS_MODEL_CREATEMOUNTTARGETRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATEMOUNTTARGETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateMountTargetResult : public ServiceResult
+			{
+			public:
+				struct MountTargetExtra
+				{
+					std::string dualStackMountTargetDomain;
+				};
+
+
+				CreateMountTargetResult();
+				explicit CreateMountTargetResult(const std::string &payload);
+				~CreateMountTargetResult();
+				std::string getMountTargetDomain()const;
+				MountTargetExtra getMountTargetExtra()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string mountTargetDomain_;
+				MountTargetExtra mountTargetExtra_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATEMOUNTTARGETRESULT_H_

+ 54 - 0
nas/include/alibabacloud/nas/model/CreateRecycleBinDeleteJobRequest.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_NAS_MODEL_CREATERECYCLEBINDELETEJOBREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINDELETEJOBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateRecycleBinDeleteJobRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateRecycleBinDeleteJobRequest();
+				~CreateRecycleBinDeleteJobRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getFileId()const;
+				void setFileId(const std::string& fileId);
+
+            private:
+				std::string clientToken_;
+				std::string fileSystemId_;
+				std::string fileId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINDELETEJOBREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateRecycleBinDeleteJobResult.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_NAS_MODEL_CREATERECYCLEBINDELETEJOBRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINDELETEJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateRecycleBinDeleteJobResult : public ServiceResult
+			{
+			public:
+
+
+				CreateRecycleBinDeleteJobResult();
+				explicit CreateRecycleBinDeleteJobResult(const std::string &payload);
+				~CreateRecycleBinDeleteJobResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINDELETEJOBRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/CreateRecycleBinRestoreJobRequest.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_NAS_MODEL_CREATERECYCLEBINRESTOREJOBREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINRESTOREJOBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateRecycleBinRestoreJobRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateRecycleBinRestoreJobRequest();
+				~CreateRecycleBinRestoreJobRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getFileId()const;
+				void setFileId(const std::string& fileId);
+				std::string getTargetFileId()const;
+				void setTargetFileId(const std::string& targetFileId);
+
+            private:
+				std::string clientToken_;
+				std::string fileSystemId_;
+				std::string fileId_;
+				std::string targetFileId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINRESTOREJOBREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateRecycleBinRestoreJobResult.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_NAS_MODEL_CREATERECYCLEBINRESTOREJOBRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINRESTOREJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateRecycleBinRestoreJobResult : public ServiceResult
+			{
+			public:
+
+
+				CreateRecycleBinRestoreJobResult();
+				explicit CreateRecycleBinRestoreJobResult(const std::string &payload);
+				~CreateRecycleBinRestoreJobResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATERECYCLEBINRESTOREJOBRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/CreateSnapshotRequest.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_NAS_MODEL_CREATESNAPSHOTREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATESNAPSHOTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateSnapshotRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateSnapshotRequest();
+				~CreateSnapshotRequest();
+
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getSnapshotName()const;
+				void setSnapshotName(const std::string& snapshotName);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				int getRetentionDays()const;
+				void setRetentionDays(int retentionDays);
+
+            private:
+				std::string description_;
+				std::string snapshotName_;
+				std::string fileSystemId_;
+				int retentionDays_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATESNAPSHOTREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/CreateSnapshotResult.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_NAS_MODEL_CREATESNAPSHOTRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_CREATESNAPSHOTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT CreateSnapshotResult : public ServiceResult
+			{
+			public:
+
+
+				CreateSnapshotResult();
+				explicit CreateSnapshotResult(const std::string &payload);
+				~CreateSnapshotResult();
+				std::string getSnapshotId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string snapshotId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_CREATESNAPSHOTRESULT_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/DeleteAccessGroupRequest.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_NAS_MODEL_DELETEACCESSGROUPREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEACCESSGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteAccessGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteAccessGroupRequest();
+				~DeleteAccessGroupRequest();
+
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+
+            private:
+				std::string fileSystemType_;
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEACCESSGROUPREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteAccessGroupResult.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_NAS_MODEL_DELETEACCESSGROUPRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEACCESSGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteAccessGroupResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAccessGroupResult();
+				explicit DeleteAccessGroupResult(const std::string &payload);
+				~DeleteAccessGroupResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEACCESSGROUPRESULT_H_

+ 54 - 0
nas/include/alibabacloud/nas/model/DeleteAccessRuleRequest.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_NAS_MODEL_DELETEACCESSRULEREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEACCESSRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteAccessRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteAccessRuleRequest();
+				~DeleteAccessRuleRequest();
+
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getAccessRuleId()const;
+				void setAccessRuleId(const std::string& accessRuleId);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+
+            private:
+				std::string fileSystemType_;
+				std::string accessRuleId_;
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEACCESSRULEREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteAccessRuleResult.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_NAS_MODEL_DELETEACCESSRULERESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEACCESSRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteAccessRuleResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAccessRuleResult();
+				explicit DeleteAccessRuleResult(const std::string &payload);
+				~DeleteAccessRuleResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEACCESSRULERESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/DeleteAutoSnapshotPolicyRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteAutoSnapshotPolicyResult.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_NAS_MODEL_DELETEAUTOSNAPSHOTPOLICYRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEAUTOSNAPSHOTPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteAutoSnapshotPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAutoSnapshotPolicyResult();
+				explicit DeleteAutoSnapshotPolicyResult(const std::string &payload);
+				~DeleteAutoSnapshotPolicyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEAUTOSNAPSHOTPOLICYRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/DeleteDataFlowRequest.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_NAS_MODEL_DELETEDATAFLOWREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEDATAFLOWREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteDataFlowRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDataFlowRequest();
+				~DeleteDataFlowRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getDataFlowId()const;
+				void setDataFlowId(const std::string& dataFlowId);
+
+            private:
+				std::string clientToken_;
+				std::string fileSystemId_;
+				bool dryRun_;
+				std::string dataFlowId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEDATAFLOWREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteDataFlowResult.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_NAS_MODEL_DELETEDATAFLOWRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEDATAFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteDataFlowResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDataFlowResult();
+				explicit DeleteDataFlowResult(const std::string &payload);
+				~DeleteDataFlowResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEDATAFLOWRESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/DeleteFileSystemRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteFileSystemResult.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_NAS_MODEL_DELETEFILESYSTEMRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEFILESYSTEMRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteFileSystemResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFileSystemResult();
+				explicit DeleteFileSystemResult(const std::string &payload);
+				~DeleteFileSystemResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEFILESYSTEMRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/DeleteFilesetRequest.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_NAS_MODEL_DELETEFILESETREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEFILESETREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteFilesetRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteFilesetRequest();
+				~DeleteFilesetRequest();
+
+				std::string getFsetId()const;
+				void setFsetId(const std::string& fsetId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+
+            private:
+				std::string fsetId_;
+				std::string clientToken_;
+				std::string fileSystemId_;
+				bool dryRun_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEFILESETREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteFilesetResult.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_NAS_MODEL_DELETEFILESETRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEFILESETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteFilesetResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFilesetResult();
+				explicit DeleteFilesetResult(const std::string &payload);
+				~DeleteFilesetResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEFILESETRESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/DeleteLDAPConfigRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteLDAPConfigResult.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_NAS_MODEL_DELETELDAPCONFIGRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETELDAPCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteLDAPConfigResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteLDAPConfigResult();
+				explicit DeleteLDAPConfigResult(const std::string &payload);
+				~DeleteLDAPConfigResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETELDAPCONFIGRESULT_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/DeleteLifecyclePolicyRequest.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_NAS_MODEL_DELETELIFECYCLEPOLICYREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETELIFECYCLEPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteLifecyclePolicyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteLifecyclePolicyRequest();
+				~DeleteLifecyclePolicyRequest();
+
+				std::string getLifecyclePolicyName()const;
+				void setLifecyclePolicyName(const std::string& lifecyclePolicyName);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+
+            private:
+				std::string lifecyclePolicyName_;
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETELIFECYCLEPOLICYREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/DeleteLifecyclePolicyResult.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_NAS_MODEL_DELETELIFECYCLEPOLICYRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETELIFECYCLEPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteLifecyclePolicyResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteLifecyclePolicyResult();
+				explicit DeleteLifecyclePolicyResult(const std::string &payload);
+				~DeleteLifecyclePolicyResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETELIFECYCLEPOLICYRESULT_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/DeleteMountTargetRequest.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_NAS_MODEL_DELETEMOUNTTARGETREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEMOUNTTARGETREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteMountTargetRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteMountTargetRequest();
+				~DeleteMountTargetRequest();
+
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getMountTargetDomain()const;
+				void setMountTargetDomain(const std::string& mountTargetDomain);
+
+            private:
+				std::string fileSystemId_;
+				std::string mountTargetDomain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEMOUNTTARGETREQUEST_H_

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteMountTargetResult.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_NAS_MODEL_DELETEMOUNTTARGETRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETEMOUNTTARGETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteMountTargetResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteMountTargetResult();
+				explicit DeleteMountTargetResult(const std::string &payload);
+				~DeleteMountTargetResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETEMOUNTTARGETRESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/DeleteSnapshotRequest.h

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

+ 49 - 0
nas/include/alibabacloud/nas/model/DeleteSnapshotResult.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_NAS_MODEL_DELETESNAPSHOTRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DELETESNAPSHOTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DeleteSnapshotResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteSnapshotResult();
+				explicit DeleteSnapshotResult(const std::string &payload);
+				~DeleteSnapshotResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DELETESNAPSHOTRESULT_H_

+ 60 - 0
nas/include/alibabacloud/nas/model/DescribeAccessGroupsRequest.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_NAS_MODEL_DESCRIBEACCESSGROUPSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSGROUPSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAccessGroupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAccessGroupsRequest();
+				~DescribeAccessGroupsRequest();
+
+				bool getUseUTCDateTime()const;
+				void setUseUTCDateTime(bool useUTCDateTime);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+
+            private:
+				bool useUTCDateTime_;
+				std::string fileSystemType_;
+				int pageNumber_;
+				int pageSize_;
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSGROUPSREQUEST_H_

+ 72 - 0
nas/include/alibabacloud/nas/model/DescribeAccessGroupsResult.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_NAS_MODEL_DESCRIBEACCESSGROUPSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSGROUPSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAccessGroupsResult : public ServiceResult
+			{
+			public:
+				struct AccessGroup
+				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
+					int ruleCount;
+					std::string accessGroupType;
+					std::string description;
+					std::string accessGroupName;
+					std::string createTime;
+					int mountTargetCount;
+					std::vector<AccessGroup::Tag> tags;
+				};
+
+
+				DescribeAccessGroupsResult();
+				explicit DescribeAccessGroupsResult(const std::string &payload);
+				~DescribeAccessGroupsResult();
+				std::vector<AccessGroup> getAccessGroups()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AccessGroup> accessGroups_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSGROUPSRESULT_H_

+ 66 - 0
nas/include/alibabacloud/nas/model/DescribeAccessRulesRequest.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_NAS_MODEL_DESCRIBEACCESSRULESREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSRULESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAccessRulesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAccessRulesRequest();
+				~DescribeAccessRulesRequest();
+
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getAccessRuleId()const;
+				void setAccessRuleId(const std::string& accessRuleId);
+				std::string getSourceCidrIpFilter()const;
+				void setSourceCidrIpFilter(const std::string& sourceCidrIpFilter);
+				std::string getSourceCidrIp()const;
+				void setSourceCidrIp(const std::string& sourceCidrIp);
+				std::string getAccessGroupName()const;
+				void setAccessGroupName(const std::string& accessGroupName);
+
+            private:
+				std::string fileSystemType_;
+				int pageNumber_;
+				int pageSize_;
+				std::string accessRuleId_;
+				std::string sourceCidrIpFilter_;
+				std::string sourceCidrIp_;
+				std::string accessGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSRULESREQUEST_H_

+ 66 - 0
nas/include/alibabacloud/nas/model/DescribeAccessRulesResult.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_NAS_MODEL_DESCRIBEACCESSRULESRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSRULESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAccessRulesResult : public ServiceResult
+			{
+			public:
+				struct AccessRule
+				{
+					std::string rWAccess;
+					std::string userAccess;
+					int priority;
+					std::string sourceCidrIp;
+					std::string ipv6SourceCidrIp;
+					std::string accessRuleId;
+				};
+
+
+				DescribeAccessRulesResult();
+				explicit DescribeAccessRulesResult(const std::string &payload);
+				~DescribeAccessRulesResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<AccessRule> getAccessRules()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<AccessRule> accessRules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEACCESSRULESRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/DescribeAutoSnapshotPoliciesRequest.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_NAS_MODEL_DESCRIBEAUTOSNAPSHOTPOLICIESREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEAUTOSNAPSHOTPOLICIESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAutoSnapshotPoliciesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAutoSnapshotPoliciesRequest();
+				~DescribeAutoSnapshotPoliciesRequest();
+
+				std::string getAutoSnapshotPolicyId()const;
+				void setAutoSnapshotPolicyId(const std::string& autoSnapshotPolicyId);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string autoSnapshotPolicyId_;
+				std::string fileSystemType_;
+				int pageNumber_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEAUTOSNAPSHOTPOLICIESREQUEST_H_

+ 69 - 0
nas/include/alibabacloud/nas/model/DescribeAutoSnapshotPoliciesResult.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_NAS_MODEL_DESCRIBEAUTOSNAPSHOTPOLICIESRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEAUTOSNAPSHOTPOLICIESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAutoSnapshotPoliciesResult : public ServiceResult
+			{
+			public:
+				struct AutoSnapshotPolicy
+				{
+					std::string status;
+					std::string timePoints;
+					std::string createTime;
+					int fileSystemNums;
+					std::string autoSnapshotPolicyId;
+					int retentionDays;
+					std::string regionId;
+					std::string repeatWeekdays;
+					std::string autoSnapshotPolicyName;
+				};
+
+
+				DescribeAutoSnapshotPoliciesResult();
+				explicit DescribeAutoSnapshotPoliciesResult(const std::string &payload);
+				~DescribeAutoSnapshotPoliciesResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<AutoSnapshotPolicy> getAutoSnapshotPolicies()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<AutoSnapshotPolicy> autoSnapshotPolicies_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEAUTOSNAPSHOTPOLICIESRESULT_H_

+ 60 - 0
nas/include/alibabacloud/nas/model/DescribeAutoSnapshotTasksRequest.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_NAS_MODEL_DESCRIBEAUTOSNAPSHOTTASKSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEAUTOSNAPSHOTTASKSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeAutoSnapshotTasksRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAutoSnapshotTasksRequest();
+				~DescribeAutoSnapshotTasksRequest();
+
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getFileSystemIds()const;
+				void setFileSystemIds(const std::string& fileSystemIds);
+				std::string getAutoSnapshotPolicyIds()const;
+				void setAutoSnapshotPolicyIds(const std::string& autoSnapshotPolicyIds);
+
+            private:
+				std::string fileSystemType_;
+				int pageNumber_;
+				int pageSize_;
+				std::string fileSystemIds_;
+				std::string autoSnapshotPolicyIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEAUTOSNAPSHOTTASKSREQUEST_H_

+ 62 - 0
nas/include/alibabacloud/nas/model/DescribeAutoSnapshotTasksResult.h

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

+ 54 - 0
nas/include/alibabacloud/nas/model/DescribeBlackListClientsRequest.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_NAS_MODEL_DESCRIBEBLACKLISTCLIENTSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEBLACKLISTCLIENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeBlackListClientsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBlackListClientsRequest();
+				~DescribeBlackListClientsRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getClientIP()const;
+				void setClientIP(const std::string& clientIP);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+
+            private:
+				std::string regionId_;
+				std::string clientIP_;
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEBLACKLISTCLIENTSREQUEST_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/DescribeBlackListClientsResult.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_NAS_MODEL_DESCRIBEBLACKLISTCLIENTSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEBLACKLISTCLIENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeBlackListClientsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeBlackListClientsResult();
+				explicit DescribeBlackListClientsResult(const std::string &payload);
+				~DescribeBlackListClientsResult();
+				std::string getClients()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string clients_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEBLACKLISTCLIENTSRESULT_H_

+ 63 - 0
nas/include/alibabacloud/nas/model/DescribeDataFlowTasksRequest.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_NAS_MODEL_DESCRIBEDATAFLOWTASKSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWTASKSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeDataFlowTasksRequest : public RpcServiceRequest
+			{
+			public:
+				struct Filters
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				DescribeDataFlowTasksRequest();
+				~DescribeDataFlowTasksRequest();
+
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::vector<Filters> getFilters()const;
+				void setFilters(const std::vector<Filters>& filters);
+				long getMaxResults()const;
+				void setMaxResults(long maxResults);
+
+            private:
+				std::string nextToken_;
+				std::string fileSystemId_;
+				std::vector<Filters> filters_;
+				long maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWTASKSREQUEST_H_

+ 71 - 0
nas/include/alibabacloud/nas/model/DescribeDataFlowTasksResult.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_NAS_MODEL_DESCRIBEDATAFLOWTASKSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWTASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeDataFlowTasksResult : public ServiceResult
+			{
+			public:
+				struct Task
+				{
+					std::string fileSystemPath;
+					std::string status;
+					std::string filesystemId;
+					long progress;
+					std::string taskId;
+					std::string endTime;
+					std::string taskAction;
+					std::string createTime;
+					std::string startTime;
+					std::string sourceStorage;
+					std::string originator;
+					std::string reportPath;
+					std::string dataType;
+					std::string dataFlowId;
+					std::string fsPath;
+				};
+
+
+				DescribeDataFlowTasksResult();
+				explicit DescribeDataFlowTasksResult(const std::string &payload);
+				~DescribeDataFlowTasksResult();
+				std::vector<Task> getTaskInfo()const;
+				std::string getNextToken()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Task> taskInfo_;
+				std::string nextToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWTASKSRESULT_H_

+ 63 - 0
nas/include/alibabacloud/nas/model/DescribeDataFlowsRequest.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_NAS_MODEL_DESCRIBEDATAFLOWSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeDataFlowsRequest : public RpcServiceRequest
+			{
+			public:
+				struct Filters
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				DescribeDataFlowsRequest();
+				~DescribeDataFlowsRequest();
+
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::vector<Filters> getFilters()const;
+				void setFilters(const std::vector<Filters>& filters);
+				long getMaxResults()const;
+				void setMaxResults(long maxResults);
+
+            private:
+				std::string nextToken_;
+				std::string fileSystemId_;
+				std::vector<Filters> filters_;
+				long maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWSREQUEST_H_

+ 76 - 0
nas/include/alibabacloud/nas/model/DescribeDataFlowsResult.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_NAS_MODEL_DESCRIBEDATAFLOWSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeDataFlowsResult : public ServiceResult
+			{
+			public:
+				struct DataFlow
+				{
+					struct AutoRefreshItem
+					{
+						std::string refreshPath;
+					};
+					std::string fsetId;
+					std::string status;
+					std::string fileSystemPath;
+					std::string description;
+					std::string createTime;
+					long throughput;
+					long autoRefreshInterval;
+					std::string fsetDescription;
+					std::string sourceStorage;
+					std::string sourceSecurityType;
+					std::string updateTime;
+					std::string fileSystemId;
+					std::string autoRefreshPolicy;
+					std::string errorMessage;
+					std::string dataFlowId;
+					std::vector<DataFlow::AutoRefreshItem> autoRefresh;
+				};
+
+
+				DescribeDataFlowsResult();
+				explicit DescribeDataFlowsResult(const std::string &payload);
+				~DescribeDataFlowsResult();
+				std::string getNextToken()const;
+				std::vector<DataFlow> getDataFlowInfo()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<DataFlow> dataFlowInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEDATAFLOWSRESULT_H_

+ 57 - 0
nas/include/alibabacloud/nas/model/DescribeDirQuotasRequest.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_NAS_MODEL_DESCRIBEDIRQUOTASREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEDIRQUOTASREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeDirQuotasRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDirQuotasRequest();
+				~DescribeDirQuotasRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getPath()const;
+				void setPath(const std::string& path);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+
+            private:
+				int pageNumber_;
+				std::string path_;
+				int pageSize_;
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEDIRQUOTASREQUEST_H_

+ 74 - 0
nas/include/alibabacloud/nas/model/DescribeDirQuotasResult.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_NAS_MODEL_DESCRIBEDIRQUOTASRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEDIRQUOTASRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeDirQuotasResult : public ServiceResult
+			{
+			public:
+				struct DirQuotaInfo
+				{
+					struct UserQuotaInfo
+					{
+						long fileCountLimit;
+						std::string userId;
+						std::string quotaType;
+						long sizeLimit;
+						long fileCountReal;
+						long sizeReal;
+						std::string userType;
+					};
+					std::string path;
+					std::string status;
+					std::string dirInode;
+					std::vector<DirQuotaInfo::UserQuotaInfo> userQuotaInfos;
+				};
+
+
+				DescribeDirQuotasResult();
+				explicit DescribeDirQuotasResult(const std::string &payload);
+				~DescribeDirQuotasResult();
+				int getTotalCount()const;
+				std::vector<DirQuotaInfo> getDirQuotaInfos()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<DirQuotaInfo> dirQuotaInfos_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEDIRQUOTASRESULT_H_

+ 51 - 0
nas/include/alibabacloud/nas/model/DescribeFileSystemStatisticsRequest.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_NAS_MODEL_DESCRIBEFILESYSTEMSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeFileSystemStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeFileSystemStatisticsRequest();
+				~DescribeFileSystemStatisticsRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				int pageNumber_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSTATISTICSREQUEST_H_

+ 92 - 0
nas/include/alibabacloud/nas/model/DescribeFileSystemStatisticsResult.h

@@ -0,0 +1,92 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSTATISTICSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeFileSystemStatisticsResult : public ServiceResult
+			{
+			public:
+				struct FileSystemStatistic
+				{
+					int totalCount;
+					int expiredCount;
+					std::string fileSystemType;
+					long meteredSize;
+					int expiringCount;
+				};
+				struct FileSystem
+				{
+					struct Package
+					{
+						long size;
+						std::string expiredTime;
+						std::string startTime;
+						std::string packageId;
+					};
+					std::string status;
+					std::string description;
+					std::string storageType;
+					std::string zoneId;
+					std::string createTime;
+					long meteredIASize;
+					long meteredSize;
+					long capacity;
+					std::vector<FileSystem::Package> packages;
+					std::string protocolType;
+					std::string chargeType;
+					std::string expiredTime;
+					std::string fileSystemType;
+					std::string fileSystemId;
+					std::string regionId;
+				};
+
+
+				DescribeFileSystemStatisticsResult();
+				explicit DescribeFileSystemStatisticsResult(const std::string &payload);
+				~DescribeFileSystemStatisticsResult();
+				std::vector<FileSystem> getFileSystems()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<FileSystemStatistic> getFileSystemStatistics()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<FileSystem> fileSystems_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<FileSystemStatistic> fileSystemStatistics_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSTATISTICSRESULT_H_

+ 93 - 0
nas/include/alibabacloud/nas/model/DescribeFileSystemsRequest.h

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_NAS_MODEL_DESCRIBEFILESYSTEMSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeFileSystemsRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				DescribeFileSystemsRequest();
+				~DescribeFileSystemsRequest();
+
+				bool getUseUTCDateTime()const;
+				void setUseUTCDateTime(bool useUTCDateTime);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getOrderByField()const;
+				void setOrderByField(const std::string& orderByField);
+				std::string getFileSystemType()const;
+				void setFileSystemType(const std::string& fileSystemType);
+				std::string getPackageIds()const;
+				void setPackageIds(const std::string& packageIds);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getStorageType()const;
+				void setStorageType(const std::string& storageType);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getSortOrder()const;
+				void setSortOrder(const std::string& sortOrder);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getChargeType()const;
+				void setChargeType(const std::string& chargeType);
+				std::string getFileSystemIds()const;
+				void setFileSystemIds(const std::string& fileSystemIds);
+
+            private:
+				bool useUTCDateTime_;
+				std::string description_;
+				std::string orderByField_;
+				std::string fileSystemType_;
+				std::string packageIds_;
+				int pageNumber_;
+				std::string storageType_;
+				int pageSize_;
+				std::string sortOrder_;
+				std::vector<Tag> tag_;
+				std::string fileSystemId_;
+				std::string vpcId_;
+				std::string chargeType_;
+				std::string fileSystemIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSREQUEST_H_

+ 128 - 0
nas/include/alibabacloud/nas/model/DescribeFileSystemsResult.h

@@ -0,0 +1,128 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeFileSystemsResult : public ServiceResult
+			{
+			public:
+				struct FileSystem
+				{
+					struct Ldap
+					{
+						std::string searchBase;
+						std::string bindDN;
+						std::string uRI;
+					};
+					struct MountTarget
+					{
+						struct ClientMasterNode
+						{
+							std::string ecsIp;
+							std::string ecsId;
+							std::string defaultPasswd;
+						};
+						struct Tag
+						{
+							std::string value;
+							std::string key;
+						};
+						std::string status;
+						std::string vpcId;
+						std::string vswId;
+						std::string dualStackMountTargetDomain;
+						std::vector<MountTarget::Tag> tags1;
+						std::string mountTargetDomain;
+						std::string networkType;
+						std::string accessGroupName;
+						std::vector<MountTarget::ClientMasterNode> clientMasterNodes;
+					};
+					struct Package
+					{
+						long size;
+						std::string packageType;
+						std::string expiredTime;
+						std::string startTime;
+						std::string packageId;
+					};
+					struct Tag2
+					{
+						std::string value;
+						std::string key;
+					};
+					std::string description;
+					long mountTargetCountLimit;
+					std::string kMSKeyId;
+					long meteredSize;
+					long capacity;
+					std::string version;
+					std::vector<FileSystem::Package> packages;
+					std::string expiredTime;
+					long bandwidth;
+					std::string fileSystemId;
+					std::vector<FileSystem::Tag2> tags;
+					std::string status;
+					Ldap ldap;
+					std::string storageType;
+					std::string zoneId;
+					std::string nasNamespaceId;
+					std::string createTime;
+					long meteredIASize;
+					std::vector<std::string> supportedFeatures;
+					std::vector<FileSystem::MountTarget> mountTargets;
+					std::string autoSnapshotPolicyId;
+					int encryptType;
+					std::string protocolType;
+					std::string chargeType;
+					std::string fileSystemType;
+					std::string regionId;
+				};
+
+
+				DescribeFileSystemsResult();
+				explicit DescribeFileSystemsResult(const std::string &payload);
+				~DescribeFileSystemsResult();
+				std::vector<FileSystem> getFileSystems()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<FileSystem> fileSystems_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESYSTEMSRESULT_H_

+ 63 - 0
nas/include/alibabacloud/nas/model/DescribeFilesetsRequest.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_NAS_MODEL_DESCRIBEFILESETSREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESETSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeFilesetsRequest : public RpcServiceRequest
+			{
+			public:
+				struct Filters
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				DescribeFilesetsRequest();
+				~DescribeFilesetsRequest();
+
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+				std::vector<Filters> getFilters()const;
+				void setFilters(const std::vector<Filters>& filters);
+				long getMaxResults()const;
+				void setMaxResults(long maxResults);
+
+            private:
+				std::string nextToken_;
+				std::string fileSystemId_;
+				std::vector<Filters> filters_;
+				long maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESETSREQUEST_H_

+ 64 - 0
nas/include/alibabacloud/nas/model/DescribeFilesetsResult.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_NAS_MODEL_DESCRIBEFILESETSRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESETSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeFilesetsResult : public ServiceResult
+			{
+			public:
+				struct Entrie
+				{
+					std::string fileSystemPath;
+					std::string fsetId;
+					std::string status;
+					std::string description;
+					std::string createTime;
+					std::string updateTiem;
+				};
+
+
+				DescribeFilesetsResult();
+				explicit DescribeFilesetsResult(const std::string &payload);
+				~DescribeFilesetsResult();
+				std::string getNextToken()const;
+				std::string getFileSystemId()const;
+				std::vector<Entrie> getEntries()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::string fileSystemId_;
+				std::vector<Entrie> entries_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBEFILESETSRESULT_H_

+ 48 - 0
nas/include/alibabacloud/nas/model/DescribeLDAPConfigRequest.h

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

+ 57 - 0
nas/include/alibabacloud/nas/model/DescribeLDAPConfigResult.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_NAS_MODEL_DESCRIBELDAPCONFIGRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBELDAPCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeLDAPConfigResult : public ServiceResult
+			{
+			public:
+				struct Ldap
+				{
+					std::string searchBase;
+					std::string bindDN;
+					std::string uRI;
+				};
+
+
+				DescribeLDAPConfigResult();
+				explicit DescribeLDAPConfigResult(const std::string &payload);
+				~DescribeLDAPConfigResult();
+				Ldap getLdap()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Ldap ldap_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBELDAPCONFIGRESULT_H_

+ 54 - 0
nas/include/alibabacloud/nas/model/DescribeLifecyclePoliciesRequest.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_NAS_MODEL_DESCRIBELIFECYCLEPOLICIESREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBELIFECYCLEPOLICIESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeLifecyclePoliciesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLifecyclePoliciesRequest();
+				~DescribeLifecyclePoliciesRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getFileSystemId()const;
+				void setFileSystemId(const std::string& fileSystemId);
+
+            private:
+				int pageNumber_;
+				int pageSize_;
+				std::string fileSystemId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBELIFECYCLEPOLICIESREQUEST_H_

+ 67 - 0
nas/include/alibabacloud/nas/model/DescribeLifecyclePoliciesResult.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_NAS_MODEL_DESCRIBELIFECYCLEPOLICIESRESULT_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBELIFECYCLEPOLICIESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeLifecyclePoliciesResult : public ServiceResult
+			{
+			public:
+				struct LifecyclePolicy
+				{
+					std::string path;
+					std::string lifecyclePolicyName;
+					std::string storageType;
+					std::string lifecycleRuleName;
+					std::string createTime;
+					std::string fileSystemId;
+					std::vector<std::string> paths;
+				};
+
+
+				DescribeLifecyclePoliciesResult();
+				explicit DescribeLifecyclePoliciesResult(const std::string &payload);
+				~DescribeLifecyclePoliciesResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<LifecyclePolicy> getLifecyclePolicies()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<LifecyclePolicy> lifecyclePolicies_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBELIFECYCLEPOLICIESRESULT_H_

+ 54 - 0
nas/include/alibabacloud/nas/model/DescribeLogAnalysisRequest.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_NAS_MODEL_DESCRIBELOGANALYSISREQUEST_H_
+#define ALIBABACLOUD_NAS_MODEL_DESCRIBELOGANALYSISREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/nas/NASExport.h>
+
+namespace AlibabaCloud
+{
+	namespace NAS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_NAS_EXPORT DescribeLogAnalysisRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLogAnalysisRequest();
+				~DescribeLogAnalysisRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				int pageNumber_;
+				std::string regionId_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_NAS_MODEL_DESCRIBELOGANALYSISREQUEST_H_

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