Browse Source

Add Indexing-Service support.

sdk-team 5 years ago
parent
commit
f7f5568da6
69 changed files with 4124 additions and 7 deletions
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 60 0
      elasticsearch/CMakeLists.txt
  4. 120 0
      elasticsearch/include/alibabacloud/elasticsearch/ElasticsearchClient.h
  5. 54 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CloseManagedIndexRequest.h
  6. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CloseManagedIndexResult.h
  7. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CreateDataStreamRequest.h
  8. 55 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CreateDataStreamResult.h
  9. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CreateILMPolicyRequest.h
  10. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CreateILMPolicyResult.h
  11. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CreateIndexTemplateRequest.h
  12. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/CreateIndexTemplateResult.h
  13. 54 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DeleteDataStreamRequest.h
  14. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DeleteDataStreamResult.h
  15. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DeleteILMPolicyRequest.h
  16. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DeleteILMPolicyResult.h
  17. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DeleteIndexTemplateRequest.h
  18. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DeleteIndexTemplateResult.h
  19. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DescribeILMPolicyRequest.h
  20. 56 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DescribeILMPolicyResult.h
  21. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DescribeIndexTemplateRequest.h
  22. 66 0
      elasticsearch/include/alibabacloud/elasticsearch/model/DescribeIndexTemplateResult.h
  23. 54 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListDataStreamsRequest.h
  24. 77 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListDataStreamsResult.h
  25. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListILMPoliciesRequest.h
  26. 56 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListILMPoliciesResult.h
  27. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListIndexTemplatesRequest.h
  28. 66 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListIndexTemplatesResult.h
  29. 6 0
      elasticsearch/include/alibabacloud/elasticsearch/model/ListInstanceIndicesRequest.h
  30. 18 2
      elasticsearch/include/alibabacloud/elasticsearch/model/ListInstanceIndicesResult.h
  31. 54 0
      elasticsearch/include/alibabacloud/elasticsearch/model/RolloverDataStreamRequest.h
  32. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/RolloverDataStreamResult.h
  33. 54 0
      elasticsearch/include/alibabacloud/elasticsearch/model/UpdateILMPolicyRequest.h
  34. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/UpdateILMPolicyResult.h
  35. 54 0
      elasticsearch/include/alibabacloud/elasticsearch/model/UpdateIndexTemplateRequest.h
  36. 51 0
      elasticsearch/include/alibabacloud/elasticsearch/model/UpdateIndexTemplateResult.h
  37. 540 0
      elasticsearch/src/ElasticsearchClient.cc
  38. 63 0
      elasticsearch/src/model/CloseManagedIndexRequest.cc
  39. 51 0
      elasticsearch/src/model/CloseManagedIndexResult.cc
  40. 52 0
      elasticsearch/src/model/CreateDataStreamRequest.cc
  41. 52 0
      elasticsearch/src/model/CreateDataStreamResult.cc
  42. 52 0
      elasticsearch/src/model/CreateILMPolicyRequest.cc
  43. 51 0
      elasticsearch/src/model/CreateILMPolicyResult.cc
  44. 52 0
      elasticsearch/src/model/CreateIndexTemplateRequest.cc
  45. 51 0
      elasticsearch/src/model/CreateIndexTemplateResult.cc
  46. 63 0
      elasticsearch/src/model/DeleteDataStreamRequest.cc
  47. 51 0
      elasticsearch/src/model/DeleteDataStreamResult.cc
  48. 52 0
      elasticsearch/src/model/DeleteILMPolicyRequest.cc
  49. 51 0
      elasticsearch/src/model/DeleteILMPolicyResult.cc
  50. 52 0
      elasticsearch/src/model/DeleteIndexTemplateRequest.cc
  51. 51 0
      elasticsearch/src/model/DeleteIndexTemplateResult.cc
  52. 52 0
      elasticsearch/src/model/DescribeILMPolicyRequest.cc
  53. 54 0
      elasticsearch/src/model/DescribeILMPolicyResult.cc
  54. 52 0
      elasticsearch/src/model/DescribeIndexTemplateRequest.cc
  55. 68 0
      elasticsearch/src/model/DescribeIndexTemplateResult.cc
  56. 63 0
      elasticsearch/src/model/ListDataStreamsRequest.cc
  57. 95 0
      elasticsearch/src/model/ListDataStreamsResult.cc
  58. 52 0
      elasticsearch/src/model/ListILMPoliciesRequest.cc
  59. 59 0
      elasticsearch/src/model/ListILMPoliciesResult.cc
  60. 52 0
      elasticsearch/src/model/ListIndexTemplatesRequest.cc
  61. 73 0
      elasticsearch/src/model/ListIndexTemplatesResult.cc
  62. 22 0
      elasticsearch/src/model/ListInstanceIndicesRequest.cc
  63. 29 4
      elasticsearch/src/model/ListInstanceIndicesResult.cc
  64. 63 0
      elasticsearch/src/model/RolloverDataStreamRequest.cc
  65. 51 0
      elasticsearch/src/model/RolloverDataStreamResult.cc
  66. 63 0
      elasticsearch/src/model/UpdateILMPolicyRequest.cc
  67. 51 0
      elasticsearch/src/model/UpdateILMPolicyResult.cc
  68. 63 0
      elasticsearch/src/model/UpdateIndexTemplateRequest.cc
  69. 51 0
      elasticsearch/src/model/UpdateIndexTemplateResult.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2021-05-13 Version: 1.36.730
+- Add Indexing-Service support.
+- Remove jsonItem form.
+
 2021-05-12 Version: 1.36.729
 - Add GetRepositoryCommit and ListRepositoryCommitDiff API.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.729
+1.36.730

+ 60 - 0
elasticsearch/CMakeLists.txt

@@ -37,10 +37,18 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/CloseDiagnosisResult.h
 	include/alibabacloud/elasticsearch/model/CloseHttpsRequest.h
 	include/alibabacloud/elasticsearch/model/CloseHttpsResult.h
+	include/alibabacloud/elasticsearch/model/CloseManagedIndexRequest.h
+	include/alibabacloud/elasticsearch/model/CloseManagedIndexResult.h
 	include/alibabacloud/elasticsearch/model/CreateCollectorRequest.h
 	include/alibabacloud/elasticsearch/model/CreateCollectorResult.h
+	include/alibabacloud/elasticsearch/model/CreateDataStreamRequest.h
+	include/alibabacloud/elasticsearch/model/CreateDataStreamResult.h
 	include/alibabacloud/elasticsearch/model/CreateDataTasksRequest.h
 	include/alibabacloud/elasticsearch/model/CreateDataTasksResult.h
+	include/alibabacloud/elasticsearch/model/CreateILMPolicyRequest.h
+	include/alibabacloud/elasticsearch/model/CreateILMPolicyResult.h
+	include/alibabacloud/elasticsearch/model/CreateIndexTemplateRequest.h
+	include/alibabacloud/elasticsearch/model/CreateIndexTemplateResult.h
 	include/alibabacloud/elasticsearch/model/CreateInstanceRequest.h
 	include/alibabacloud/elasticsearch/model/CreateInstanceResult.h
 	include/alibabacloud/elasticsearch/model/CreateLogstashRequest.h
@@ -57,8 +65,14 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/DeleteCollectorResult.h
 	include/alibabacloud/elasticsearch/model/DeleteConnectedClusterRequest.h
 	include/alibabacloud/elasticsearch/model/DeleteConnectedClusterResult.h
+	include/alibabacloud/elasticsearch/model/DeleteDataStreamRequest.h
+	include/alibabacloud/elasticsearch/model/DeleteDataStreamResult.h
 	include/alibabacloud/elasticsearch/model/DeleteDataTaskRequest.h
 	include/alibabacloud/elasticsearch/model/DeleteDataTaskResult.h
+	include/alibabacloud/elasticsearch/model/DeleteILMPolicyRequest.h
+	include/alibabacloud/elasticsearch/model/DeleteILMPolicyResult.h
+	include/alibabacloud/elasticsearch/model/DeleteIndexTemplateRequest.h
+	include/alibabacloud/elasticsearch/model/DeleteIndexTemplateResult.h
 	include/alibabacloud/elasticsearch/model/DeleteInstanceRequest.h
 	include/alibabacloud/elasticsearch/model/DeleteInstanceResult.h
 	include/alibabacloud/elasticsearch/model/DeleteLogstashRequest.h
@@ -81,6 +95,10 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/DescribeDiagnosisSettingsResult.h
 	include/alibabacloud/elasticsearch/model/DescribeElasticsearchHealthRequest.h
 	include/alibabacloud/elasticsearch/model/DescribeElasticsearchHealthResult.h
+	include/alibabacloud/elasticsearch/model/DescribeILMPolicyRequest.h
+	include/alibabacloud/elasticsearch/model/DescribeILMPolicyResult.h
+	include/alibabacloud/elasticsearch/model/DescribeIndexTemplateRequest.h
+	include/alibabacloud/elasticsearch/model/DescribeIndexTemplateResult.h
 	include/alibabacloud/elasticsearch/model/DescribeInstanceRequest.h
 	include/alibabacloud/elasticsearch/model/DescribeInstanceResult.h
 	include/alibabacloud/elasticsearch/model/DescribeKibanaSettingsRequest.h
@@ -147,6 +165,8 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/ListCollectorsResult.h
 	include/alibabacloud/elasticsearch/model/ListConnectedClustersRequest.h
 	include/alibabacloud/elasticsearch/model/ListConnectedClustersResult.h
+	include/alibabacloud/elasticsearch/model/ListDataStreamsRequest.h
+	include/alibabacloud/elasticsearch/model/ListDataStreamsResult.h
 	include/alibabacloud/elasticsearch/model/ListDataTasksRequest.h
 	include/alibabacloud/elasticsearch/model/ListDataTasksResult.h
 	include/alibabacloud/elasticsearch/model/ListDefaultCollectorConfigurationsRequest.h
@@ -163,6 +183,10 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/ListEcsInstancesResult.h
 	include/alibabacloud/elasticsearch/model/ListExtendfilesRequest.h
 	include/alibabacloud/elasticsearch/model/ListExtendfilesResult.h
+	include/alibabacloud/elasticsearch/model/ListILMPoliciesRequest.h
+	include/alibabacloud/elasticsearch/model/ListILMPoliciesResult.h
+	include/alibabacloud/elasticsearch/model/ListIndexTemplatesRequest.h
+	include/alibabacloud/elasticsearch/model/ListIndexTemplatesResult.h
 	include/alibabacloud/elasticsearch/model/ListInstanceRequest.h
 	include/alibabacloud/elasticsearch/model/ListInstanceResult.h
 	include/alibabacloud/elasticsearch/model/ListInstanceIndicesRequest.h
@@ -227,6 +251,8 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/ResumeLogstashTaskResult.h
 	include/alibabacloud/elasticsearch/model/RollbackInstanceRequest.h
 	include/alibabacloud/elasticsearch/model/RollbackInstanceResult.h
+	include/alibabacloud/elasticsearch/model/RolloverDataStreamRequest.h
+	include/alibabacloud/elasticsearch/model/RolloverDataStreamResult.h
 	include/alibabacloud/elasticsearch/model/RunPipelinesRequest.h
 	include/alibabacloud/elasticsearch/model/RunPipelinesResult.h
 	include/alibabacloud/elasticsearch/model/ShrinkNodeRequest.h
@@ -275,6 +301,10 @@ set(elasticsearch_public_header_model
 	include/alibabacloud/elasticsearch/model/UpdateExtendfilesResult.h
 	include/alibabacloud/elasticsearch/model/UpdateHotIkDictsRequest.h
 	include/alibabacloud/elasticsearch/model/UpdateHotIkDictsResult.h
+	include/alibabacloud/elasticsearch/model/UpdateILMPolicyRequest.h
+	include/alibabacloud/elasticsearch/model/UpdateILMPolicyResult.h
+	include/alibabacloud/elasticsearch/model/UpdateIndexTemplateRequest.h
+	include/alibabacloud/elasticsearch/model/UpdateIndexTemplateResult.h
 	include/alibabacloud/elasticsearch/model/UpdateInstanceRequest.h
 	include/alibabacloud/elasticsearch/model/UpdateInstanceResult.h
 	include/alibabacloud/elasticsearch/model/UpdateInstanceChargeTypeRequest.h
@@ -344,10 +374,18 @@ set(elasticsearch_src
 	src/model/CloseDiagnosisResult.cc
 	src/model/CloseHttpsRequest.cc
 	src/model/CloseHttpsResult.cc
+	src/model/CloseManagedIndexRequest.cc
+	src/model/CloseManagedIndexResult.cc
 	src/model/CreateCollectorRequest.cc
 	src/model/CreateCollectorResult.cc
+	src/model/CreateDataStreamRequest.cc
+	src/model/CreateDataStreamResult.cc
 	src/model/CreateDataTasksRequest.cc
 	src/model/CreateDataTasksResult.cc
+	src/model/CreateILMPolicyRequest.cc
+	src/model/CreateILMPolicyResult.cc
+	src/model/CreateIndexTemplateRequest.cc
+	src/model/CreateIndexTemplateResult.cc
 	src/model/CreateInstanceRequest.cc
 	src/model/CreateInstanceResult.cc
 	src/model/CreateLogstashRequest.cc
@@ -364,8 +402,14 @@ set(elasticsearch_src
 	src/model/DeleteCollectorResult.cc
 	src/model/DeleteConnectedClusterRequest.cc
 	src/model/DeleteConnectedClusterResult.cc
+	src/model/DeleteDataStreamRequest.cc
+	src/model/DeleteDataStreamResult.cc
 	src/model/DeleteDataTaskRequest.cc
 	src/model/DeleteDataTaskResult.cc
+	src/model/DeleteILMPolicyRequest.cc
+	src/model/DeleteILMPolicyResult.cc
+	src/model/DeleteIndexTemplateRequest.cc
+	src/model/DeleteIndexTemplateResult.cc
 	src/model/DeleteInstanceRequest.cc
 	src/model/DeleteInstanceResult.cc
 	src/model/DeleteLogstashRequest.cc
@@ -388,6 +432,10 @@ set(elasticsearch_src
 	src/model/DescribeDiagnosisSettingsResult.cc
 	src/model/DescribeElasticsearchHealthRequest.cc
 	src/model/DescribeElasticsearchHealthResult.cc
+	src/model/DescribeILMPolicyRequest.cc
+	src/model/DescribeILMPolicyResult.cc
+	src/model/DescribeIndexTemplateRequest.cc
+	src/model/DescribeIndexTemplateResult.cc
 	src/model/DescribeInstanceRequest.cc
 	src/model/DescribeInstanceResult.cc
 	src/model/DescribeKibanaSettingsRequest.cc
@@ -454,6 +502,8 @@ set(elasticsearch_src
 	src/model/ListCollectorsResult.cc
 	src/model/ListConnectedClustersRequest.cc
 	src/model/ListConnectedClustersResult.cc
+	src/model/ListDataStreamsRequest.cc
+	src/model/ListDataStreamsResult.cc
 	src/model/ListDataTasksRequest.cc
 	src/model/ListDataTasksResult.cc
 	src/model/ListDefaultCollectorConfigurationsRequest.cc
@@ -470,6 +520,10 @@ set(elasticsearch_src
 	src/model/ListEcsInstancesResult.cc
 	src/model/ListExtendfilesRequest.cc
 	src/model/ListExtendfilesResult.cc
+	src/model/ListILMPoliciesRequest.cc
+	src/model/ListILMPoliciesResult.cc
+	src/model/ListIndexTemplatesRequest.cc
+	src/model/ListIndexTemplatesResult.cc
 	src/model/ListInstanceRequest.cc
 	src/model/ListInstanceResult.cc
 	src/model/ListInstanceIndicesRequest.cc
@@ -534,6 +588,8 @@ set(elasticsearch_src
 	src/model/ResumeLogstashTaskResult.cc
 	src/model/RollbackInstanceRequest.cc
 	src/model/RollbackInstanceResult.cc
+	src/model/RolloverDataStreamRequest.cc
+	src/model/RolloverDataStreamResult.cc
 	src/model/RunPipelinesRequest.cc
 	src/model/RunPipelinesResult.cc
 	src/model/ShrinkNodeRequest.cc
@@ -582,6 +638,10 @@ set(elasticsearch_src
 	src/model/UpdateExtendfilesResult.cc
 	src/model/UpdateHotIkDictsRequest.cc
 	src/model/UpdateHotIkDictsResult.cc
+	src/model/UpdateILMPolicyRequest.cc
+	src/model/UpdateILMPolicyResult.cc
+	src/model/UpdateIndexTemplateRequest.cc
+	src/model/UpdateIndexTemplateResult.cc
 	src/model/UpdateInstanceRequest.cc
 	src/model/UpdateInstanceResult.cc
 	src/model/UpdateInstanceChargeTypeRequest.cc

+ 120 - 0
elasticsearch/include/alibabacloud/elasticsearch/ElasticsearchClient.h

@@ -38,10 +38,18 @@
 #include "model/CloseDiagnosisResult.h"
 #include "model/CloseHttpsRequest.h"
 #include "model/CloseHttpsResult.h"
+#include "model/CloseManagedIndexRequest.h"
+#include "model/CloseManagedIndexResult.h"
 #include "model/CreateCollectorRequest.h"
 #include "model/CreateCollectorResult.h"
+#include "model/CreateDataStreamRequest.h"
+#include "model/CreateDataStreamResult.h"
 #include "model/CreateDataTasksRequest.h"
 #include "model/CreateDataTasksResult.h"
+#include "model/CreateILMPolicyRequest.h"
+#include "model/CreateILMPolicyResult.h"
+#include "model/CreateIndexTemplateRequest.h"
+#include "model/CreateIndexTemplateResult.h"
 #include "model/CreateInstanceRequest.h"
 #include "model/CreateInstanceResult.h"
 #include "model/CreateLogstashRequest.h"
@@ -58,8 +66,14 @@
 #include "model/DeleteCollectorResult.h"
 #include "model/DeleteConnectedClusterRequest.h"
 #include "model/DeleteConnectedClusterResult.h"
+#include "model/DeleteDataStreamRequest.h"
+#include "model/DeleteDataStreamResult.h"
 #include "model/DeleteDataTaskRequest.h"
 #include "model/DeleteDataTaskResult.h"
+#include "model/DeleteILMPolicyRequest.h"
+#include "model/DeleteILMPolicyResult.h"
+#include "model/DeleteIndexTemplateRequest.h"
+#include "model/DeleteIndexTemplateResult.h"
 #include "model/DeleteInstanceRequest.h"
 #include "model/DeleteInstanceResult.h"
 #include "model/DeleteLogstashRequest.h"
@@ -82,6 +96,10 @@
 #include "model/DescribeDiagnosisSettingsResult.h"
 #include "model/DescribeElasticsearchHealthRequest.h"
 #include "model/DescribeElasticsearchHealthResult.h"
+#include "model/DescribeILMPolicyRequest.h"
+#include "model/DescribeILMPolicyResult.h"
+#include "model/DescribeIndexTemplateRequest.h"
+#include "model/DescribeIndexTemplateResult.h"
 #include "model/DescribeInstanceRequest.h"
 #include "model/DescribeInstanceResult.h"
 #include "model/DescribeKibanaSettingsRequest.h"
@@ -148,6 +166,8 @@
 #include "model/ListCollectorsResult.h"
 #include "model/ListConnectedClustersRequest.h"
 #include "model/ListConnectedClustersResult.h"
+#include "model/ListDataStreamsRequest.h"
+#include "model/ListDataStreamsResult.h"
 #include "model/ListDataTasksRequest.h"
 #include "model/ListDataTasksResult.h"
 #include "model/ListDefaultCollectorConfigurationsRequest.h"
@@ -164,6 +184,10 @@
 #include "model/ListEcsInstancesResult.h"
 #include "model/ListExtendfilesRequest.h"
 #include "model/ListExtendfilesResult.h"
+#include "model/ListILMPoliciesRequest.h"
+#include "model/ListILMPoliciesResult.h"
+#include "model/ListIndexTemplatesRequest.h"
+#include "model/ListIndexTemplatesResult.h"
 #include "model/ListInstanceRequest.h"
 #include "model/ListInstanceResult.h"
 #include "model/ListInstanceIndicesRequest.h"
@@ -228,6 +252,8 @@
 #include "model/ResumeLogstashTaskResult.h"
 #include "model/RollbackInstanceRequest.h"
 #include "model/RollbackInstanceResult.h"
+#include "model/RolloverDataStreamRequest.h"
+#include "model/RolloverDataStreamResult.h"
 #include "model/RunPipelinesRequest.h"
 #include "model/RunPipelinesResult.h"
 #include "model/ShrinkNodeRequest.h"
@@ -276,6 +302,10 @@
 #include "model/UpdateExtendfilesResult.h"
 #include "model/UpdateHotIkDictsRequest.h"
 #include "model/UpdateHotIkDictsResult.h"
+#include "model/UpdateILMPolicyRequest.h"
+#include "model/UpdateILMPolicyResult.h"
+#include "model/UpdateIndexTemplateRequest.h"
+#include "model/UpdateIndexTemplateResult.h"
 #include "model/UpdateInstanceRequest.h"
 #include "model/UpdateInstanceResult.h"
 #include "model/UpdateInstanceChargeTypeRequest.h"
@@ -359,12 +389,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CloseHttpsResult> CloseHttpsOutcome;
 			typedef std::future<CloseHttpsOutcome> CloseHttpsOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::CloseHttpsRequest&, const CloseHttpsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CloseHttpsAsyncHandler;
+			typedef Outcome<Error, Model::CloseManagedIndexResult> CloseManagedIndexOutcome;
+			typedef std::future<CloseManagedIndexOutcome> CloseManagedIndexOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::CloseManagedIndexRequest&, const CloseManagedIndexOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CloseManagedIndexAsyncHandler;
 			typedef Outcome<Error, Model::CreateCollectorResult> CreateCollectorOutcome;
 			typedef std::future<CreateCollectorOutcome> CreateCollectorOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::CreateCollectorRequest&, const CreateCollectorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCollectorAsyncHandler;
+			typedef Outcome<Error, Model::CreateDataStreamResult> CreateDataStreamOutcome;
+			typedef std::future<CreateDataStreamOutcome> CreateDataStreamOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::CreateDataStreamRequest&, const CreateDataStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDataStreamAsyncHandler;
 			typedef Outcome<Error, Model::CreateDataTasksResult> CreateDataTasksOutcome;
 			typedef std::future<CreateDataTasksOutcome> CreateDataTasksOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::CreateDataTasksRequest&, const CreateDataTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDataTasksAsyncHandler;
+			typedef Outcome<Error, Model::CreateILMPolicyResult> CreateILMPolicyOutcome;
+			typedef std::future<CreateILMPolicyOutcome> CreateILMPolicyOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::CreateILMPolicyRequest&, const CreateILMPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateILMPolicyAsyncHandler;
+			typedef Outcome<Error, Model::CreateIndexTemplateResult> CreateIndexTemplateOutcome;
+			typedef std::future<CreateIndexTemplateOutcome> CreateIndexTemplateOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::CreateIndexTemplateRequest&, const CreateIndexTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateIndexTemplateAsyncHandler;
 			typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;
 			typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
@@ -389,9 +431,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteConnectedClusterResult> DeleteConnectedClusterOutcome;
 			typedef std::future<DeleteConnectedClusterOutcome> DeleteConnectedClusterOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::DeleteConnectedClusterRequest&, const DeleteConnectedClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteConnectedClusterAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDataStreamResult> DeleteDataStreamOutcome;
+			typedef std::future<DeleteDataStreamOutcome> DeleteDataStreamOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::DeleteDataStreamRequest&, const DeleteDataStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDataStreamAsyncHandler;
 			typedef Outcome<Error, Model::DeleteDataTaskResult> DeleteDataTaskOutcome;
 			typedef std::future<DeleteDataTaskOutcome> DeleteDataTaskOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::DeleteDataTaskRequest&, const DeleteDataTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDataTaskAsyncHandler;
+			typedef Outcome<Error, Model::DeleteILMPolicyResult> DeleteILMPolicyOutcome;
+			typedef std::future<DeleteILMPolicyOutcome> DeleteILMPolicyOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::DeleteILMPolicyRequest&, const DeleteILMPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteILMPolicyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteIndexTemplateResult> DeleteIndexTemplateOutcome;
+			typedef std::future<DeleteIndexTemplateOutcome> DeleteIndexTemplateOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::DeleteIndexTemplateRequest&, const DeleteIndexTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteIndexTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DeleteInstanceResult> DeleteInstanceOutcome;
 			typedef std::future<DeleteInstanceOutcome> DeleteInstanceOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::DeleteInstanceRequest&, const DeleteInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteInstanceAsyncHandler;
@@ -425,6 +476,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeElasticsearchHealthResult> DescribeElasticsearchHealthOutcome;
 			typedef std::future<DescribeElasticsearchHealthOutcome> DescribeElasticsearchHealthOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::DescribeElasticsearchHealthRequest&, const DescribeElasticsearchHealthOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeElasticsearchHealthAsyncHandler;
+			typedef Outcome<Error, Model::DescribeILMPolicyResult> DescribeILMPolicyOutcome;
+			typedef std::future<DescribeILMPolicyOutcome> DescribeILMPolicyOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::DescribeILMPolicyRequest&, const DescribeILMPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeILMPolicyAsyncHandler;
+			typedef Outcome<Error, Model::DescribeIndexTemplateResult> DescribeIndexTemplateOutcome;
+			typedef std::future<DescribeIndexTemplateOutcome> DescribeIndexTemplateOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::DescribeIndexTemplateRequest&, const DescribeIndexTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIndexTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceResult> DescribeInstanceOutcome;
 			typedef std::future<DescribeInstanceOutcome> DescribeInstanceOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::DescribeInstanceRequest&, const DescribeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAsyncHandler;
@@ -524,6 +581,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListConnectedClustersResult> ListConnectedClustersOutcome;
 			typedef std::future<ListConnectedClustersOutcome> ListConnectedClustersOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::ListConnectedClustersRequest&, const ListConnectedClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListConnectedClustersAsyncHandler;
+			typedef Outcome<Error, Model::ListDataStreamsResult> ListDataStreamsOutcome;
+			typedef std::future<ListDataStreamsOutcome> ListDataStreamsOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::ListDataStreamsRequest&, const ListDataStreamsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDataStreamsAsyncHandler;
 			typedef Outcome<Error, Model::ListDataTasksResult> ListDataTasksOutcome;
 			typedef std::future<ListDataTasksOutcome> ListDataTasksOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::ListDataTasksRequest&, const ListDataTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDataTasksAsyncHandler;
@@ -548,6 +608,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListExtendfilesResult> ListExtendfilesOutcome;
 			typedef std::future<ListExtendfilesOutcome> ListExtendfilesOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::ListExtendfilesRequest&, const ListExtendfilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListExtendfilesAsyncHandler;
+			typedef Outcome<Error, Model::ListILMPoliciesResult> ListILMPoliciesOutcome;
+			typedef std::future<ListILMPoliciesOutcome> ListILMPoliciesOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::ListILMPoliciesRequest&, const ListILMPoliciesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListILMPoliciesAsyncHandler;
+			typedef Outcome<Error, Model::ListIndexTemplatesResult> ListIndexTemplatesOutcome;
+			typedef std::future<ListIndexTemplatesOutcome> ListIndexTemplatesOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::ListIndexTemplatesRequest&, const ListIndexTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListIndexTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::ListInstanceResult> ListInstanceOutcome;
 			typedef std::future<ListInstanceOutcome> ListInstanceOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::ListInstanceRequest&, const ListInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInstanceAsyncHandler;
@@ -644,6 +710,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RollbackInstanceResult> RollbackInstanceOutcome;
 			typedef std::future<RollbackInstanceOutcome> RollbackInstanceOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::RollbackInstanceRequest&, const RollbackInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RollbackInstanceAsyncHandler;
+			typedef Outcome<Error, Model::RolloverDataStreamResult> RolloverDataStreamOutcome;
+			typedef std::future<RolloverDataStreamOutcome> RolloverDataStreamOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::RolloverDataStreamRequest&, const RolloverDataStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RolloverDataStreamAsyncHandler;
 			typedef Outcome<Error, Model::RunPipelinesResult> RunPipelinesOutcome;
 			typedef std::future<RunPipelinesOutcome> RunPipelinesOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::RunPipelinesRequest&, const RunPipelinesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RunPipelinesAsyncHandler;
@@ -716,6 +785,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateHotIkDictsResult> UpdateHotIkDictsOutcome;
 			typedef std::future<UpdateHotIkDictsOutcome> UpdateHotIkDictsOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::UpdateHotIkDictsRequest&, const UpdateHotIkDictsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateHotIkDictsAsyncHandler;
+			typedef Outcome<Error, Model::UpdateILMPolicyResult> UpdateILMPolicyOutcome;
+			typedef std::future<UpdateILMPolicyOutcome> UpdateILMPolicyOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::UpdateILMPolicyRequest&, const UpdateILMPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateILMPolicyAsyncHandler;
+			typedef Outcome<Error, Model::UpdateIndexTemplateResult> UpdateIndexTemplateOutcome;
+			typedef std::future<UpdateIndexTemplateOutcome> UpdateIndexTemplateOutcomeCallable;
+			typedef std::function<void(const ElasticsearchClient*, const Model::UpdateIndexTemplateRequest&, const UpdateIndexTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateIndexTemplateAsyncHandler;
 			typedef Outcome<Error, Model::UpdateInstanceResult> UpdateInstanceOutcome;
 			typedef std::future<UpdateInstanceOutcome> UpdateInstanceOutcomeCallable;
 			typedef std::function<void(const ElasticsearchClient*, const Model::UpdateInstanceRequest&, const UpdateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateInstanceAsyncHandler;
@@ -820,12 +895,24 @@ namespace AlibabaCloud
 			CloseHttpsOutcome closeHttps(const Model::CloseHttpsRequest &request)const;
 			void closeHttpsAsync(const Model::CloseHttpsRequest& request, const CloseHttpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CloseHttpsOutcomeCallable closeHttpsCallable(const Model::CloseHttpsRequest& request) const;
+			CloseManagedIndexOutcome closeManagedIndex(const Model::CloseManagedIndexRequest &request)const;
+			void closeManagedIndexAsync(const Model::CloseManagedIndexRequest& request, const CloseManagedIndexAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CloseManagedIndexOutcomeCallable closeManagedIndexCallable(const Model::CloseManagedIndexRequest& request) const;
 			CreateCollectorOutcome createCollector(const Model::CreateCollectorRequest &request)const;
 			void createCollectorAsync(const Model::CreateCollectorRequest& request, const CreateCollectorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCollectorOutcomeCallable createCollectorCallable(const Model::CreateCollectorRequest& request) const;
+			CreateDataStreamOutcome createDataStream(const Model::CreateDataStreamRequest &request)const;
+			void createDataStreamAsync(const Model::CreateDataStreamRequest& request, const CreateDataStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDataStreamOutcomeCallable createDataStreamCallable(const Model::CreateDataStreamRequest& request) const;
 			CreateDataTasksOutcome createDataTasks(const Model::CreateDataTasksRequest &request)const;
 			void createDataTasksAsync(const Model::CreateDataTasksRequest& request, const CreateDataTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDataTasksOutcomeCallable createDataTasksCallable(const Model::CreateDataTasksRequest& request) const;
+			CreateILMPolicyOutcome createILMPolicy(const Model::CreateILMPolicyRequest &request)const;
+			void createILMPolicyAsync(const Model::CreateILMPolicyRequest& request, const CreateILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateILMPolicyOutcomeCallable createILMPolicyCallable(const Model::CreateILMPolicyRequest& request) const;
+			CreateIndexTemplateOutcome createIndexTemplate(const Model::CreateIndexTemplateRequest &request)const;
+			void createIndexTemplateAsync(const Model::CreateIndexTemplateRequest& request, const CreateIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateIndexTemplateOutcomeCallable createIndexTemplateCallable(const Model::CreateIndexTemplateRequest& request) const;
 			CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
 			void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
@@ -850,9 +937,18 @@ namespace AlibabaCloud
 			DeleteConnectedClusterOutcome deleteConnectedCluster(const Model::DeleteConnectedClusterRequest &request)const;
 			void deleteConnectedClusterAsync(const Model::DeleteConnectedClusterRequest& request, const DeleteConnectedClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteConnectedClusterOutcomeCallable deleteConnectedClusterCallable(const Model::DeleteConnectedClusterRequest& request) const;
+			DeleteDataStreamOutcome deleteDataStream(const Model::DeleteDataStreamRequest &request)const;
+			void deleteDataStreamAsync(const Model::DeleteDataStreamRequest& request, const DeleteDataStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDataStreamOutcomeCallable deleteDataStreamCallable(const Model::DeleteDataStreamRequest& request) const;
 			DeleteDataTaskOutcome deleteDataTask(const Model::DeleteDataTaskRequest &request)const;
 			void deleteDataTaskAsync(const Model::DeleteDataTaskRequest& request, const DeleteDataTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDataTaskOutcomeCallable deleteDataTaskCallable(const Model::DeleteDataTaskRequest& request) const;
+			DeleteILMPolicyOutcome deleteILMPolicy(const Model::DeleteILMPolicyRequest &request)const;
+			void deleteILMPolicyAsync(const Model::DeleteILMPolicyRequest& request, const DeleteILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteILMPolicyOutcomeCallable deleteILMPolicyCallable(const Model::DeleteILMPolicyRequest& request) const;
+			DeleteIndexTemplateOutcome deleteIndexTemplate(const Model::DeleteIndexTemplateRequest &request)const;
+			void deleteIndexTemplateAsync(const Model::DeleteIndexTemplateRequest& request, const DeleteIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteIndexTemplateOutcomeCallable deleteIndexTemplateCallable(const Model::DeleteIndexTemplateRequest& request) const;
 			DeleteInstanceOutcome deleteInstance(const Model::DeleteInstanceRequest &request)const;
 			void deleteInstanceAsync(const Model::DeleteInstanceRequest& request, const DeleteInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteInstanceOutcomeCallable deleteInstanceCallable(const Model::DeleteInstanceRequest& request) const;
@@ -886,6 +982,12 @@ namespace AlibabaCloud
 			DescribeElasticsearchHealthOutcome describeElasticsearchHealth(const Model::DescribeElasticsearchHealthRequest &request)const;
 			void describeElasticsearchHealthAsync(const Model::DescribeElasticsearchHealthRequest& request, const DescribeElasticsearchHealthAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeElasticsearchHealthOutcomeCallable describeElasticsearchHealthCallable(const Model::DescribeElasticsearchHealthRequest& request) const;
+			DescribeILMPolicyOutcome describeILMPolicy(const Model::DescribeILMPolicyRequest &request)const;
+			void describeILMPolicyAsync(const Model::DescribeILMPolicyRequest& request, const DescribeILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeILMPolicyOutcomeCallable describeILMPolicyCallable(const Model::DescribeILMPolicyRequest& request) const;
+			DescribeIndexTemplateOutcome describeIndexTemplate(const Model::DescribeIndexTemplateRequest &request)const;
+			void describeIndexTemplateAsync(const Model::DescribeIndexTemplateRequest& request, const DescribeIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeIndexTemplateOutcomeCallable describeIndexTemplateCallable(const Model::DescribeIndexTemplateRequest& request) const;
 			DescribeInstanceOutcome describeInstance(const Model::DescribeInstanceRequest &request)const;
 			void describeInstanceAsync(const Model::DescribeInstanceRequest& request, const DescribeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceOutcomeCallable describeInstanceCallable(const Model::DescribeInstanceRequest& request) const;
@@ -985,6 +1087,9 @@ namespace AlibabaCloud
 			ListConnectedClustersOutcome listConnectedClusters(const Model::ListConnectedClustersRequest &request)const;
 			void listConnectedClustersAsync(const Model::ListConnectedClustersRequest& request, const ListConnectedClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListConnectedClustersOutcomeCallable listConnectedClustersCallable(const Model::ListConnectedClustersRequest& request) const;
+			ListDataStreamsOutcome listDataStreams(const Model::ListDataStreamsRequest &request)const;
+			void listDataStreamsAsync(const Model::ListDataStreamsRequest& request, const ListDataStreamsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDataStreamsOutcomeCallable listDataStreamsCallable(const Model::ListDataStreamsRequest& request) const;
 			ListDataTasksOutcome listDataTasks(const Model::ListDataTasksRequest &request)const;
 			void listDataTasksAsync(const Model::ListDataTasksRequest& request, const ListDataTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListDataTasksOutcomeCallable listDataTasksCallable(const Model::ListDataTasksRequest& request) const;
@@ -1009,6 +1114,12 @@ namespace AlibabaCloud
 			ListExtendfilesOutcome listExtendfiles(const Model::ListExtendfilesRequest &request)const;
 			void listExtendfilesAsync(const Model::ListExtendfilesRequest& request, const ListExtendfilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListExtendfilesOutcomeCallable listExtendfilesCallable(const Model::ListExtendfilesRequest& request) const;
+			ListILMPoliciesOutcome listILMPolicies(const Model::ListILMPoliciesRequest &request)const;
+			void listILMPoliciesAsync(const Model::ListILMPoliciesRequest& request, const ListILMPoliciesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListILMPoliciesOutcomeCallable listILMPoliciesCallable(const Model::ListILMPoliciesRequest& request) const;
+			ListIndexTemplatesOutcome listIndexTemplates(const Model::ListIndexTemplatesRequest &request)const;
+			void listIndexTemplatesAsync(const Model::ListIndexTemplatesRequest& request, const ListIndexTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListIndexTemplatesOutcomeCallable listIndexTemplatesCallable(const Model::ListIndexTemplatesRequest& request) const;
 			ListInstanceOutcome listInstance(const Model::ListInstanceRequest &request)const;
 			void listInstanceAsync(const Model::ListInstanceRequest& request, const ListInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListInstanceOutcomeCallable listInstanceCallable(const Model::ListInstanceRequest& request) const;
@@ -1105,6 +1216,9 @@ namespace AlibabaCloud
 			RollbackInstanceOutcome rollbackInstance(const Model::RollbackInstanceRequest &request)const;
 			void rollbackInstanceAsync(const Model::RollbackInstanceRequest& request, const RollbackInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RollbackInstanceOutcomeCallable rollbackInstanceCallable(const Model::RollbackInstanceRequest& request) const;
+			RolloverDataStreamOutcome rolloverDataStream(const Model::RolloverDataStreamRequest &request)const;
+			void rolloverDataStreamAsync(const Model::RolloverDataStreamRequest& request, const RolloverDataStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RolloverDataStreamOutcomeCallable rolloverDataStreamCallable(const Model::RolloverDataStreamRequest& request) const;
 			RunPipelinesOutcome runPipelines(const Model::RunPipelinesRequest &request)const;
 			void runPipelinesAsync(const Model::RunPipelinesRequest& request, const RunPipelinesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RunPipelinesOutcomeCallable runPipelinesCallable(const Model::RunPipelinesRequest& request) const;
@@ -1177,6 +1291,12 @@ namespace AlibabaCloud
 			UpdateHotIkDictsOutcome updateHotIkDicts(const Model::UpdateHotIkDictsRequest &request)const;
 			void updateHotIkDictsAsync(const Model::UpdateHotIkDictsRequest& request, const UpdateHotIkDictsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateHotIkDictsOutcomeCallable updateHotIkDictsCallable(const Model::UpdateHotIkDictsRequest& request) const;
+			UpdateILMPolicyOutcome updateILMPolicy(const Model::UpdateILMPolicyRequest &request)const;
+			void updateILMPolicyAsync(const Model::UpdateILMPolicyRequest& request, const UpdateILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateILMPolicyOutcomeCallable updateILMPolicyCallable(const Model::UpdateILMPolicyRequest& request) const;
+			UpdateIndexTemplateOutcome updateIndexTemplate(const Model::UpdateIndexTemplateRequest &request)const;
+			void updateIndexTemplateAsync(const Model::UpdateIndexTemplateRequest& request, const UpdateIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateIndexTemplateOutcomeCallable updateIndexTemplateCallable(const Model::UpdateIndexTemplateRequest& request) const;
 			UpdateInstanceOutcome updateInstance(const Model::UpdateInstanceRequest &request)const;
 			void updateInstanceAsync(const Model::UpdateInstanceRequest& request, const UpdateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateInstanceOutcomeCallable updateInstanceCallable(const Model::UpdateInstanceRequest& request) const;

+ 54 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CloseManagedIndexRequest.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_ELASTICSEARCH_MODEL_CLOSEMANAGEDINDEXREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CLOSEMANAGEDINDEXREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CloseManagedIndexRequest : public RoaServiceRequest
+			{
+
+			public:
+				CloseManagedIndexRequest();
+				~CloseManagedIndexRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getIndex()const;
+				void setIndex(const std::string& index);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+				std::string index_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CLOSEMANAGEDINDEXREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CloseManagedIndexResult.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_ELASTICSEARCH_MODEL_CLOSEMANAGEDINDEXRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CLOSEMANAGEDINDEXRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CloseManagedIndexResult : public ServiceResult
+			{
+			public:
+
+
+				CloseManagedIndexResult();
+				explicit CloseManagedIndexResult(const std::string &payload);
+				~CloseManagedIndexResult();
+				bool getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CLOSEMANAGEDINDEXRESULT_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CreateDataStreamRequest.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_ELASTICSEARCH_MODEL_CREATEDATASTREAMREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEDATASTREAMREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CreateDataStreamRequest : public RoaServiceRequest
+			{
+
+			public:
+				CreateDataStreamRequest();
+				~CreateDataStreamRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEDATASTREAMREQUEST_H_

+ 55 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CreateDataStreamResult.h

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

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CreateILMPolicyRequest.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_ELASTICSEARCH_MODEL_CREATEILMPOLICYREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEILMPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CreateILMPolicyRequest : public RoaServiceRequest
+			{
+
+			public:
+				CreateILMPolicyRequest();
+				~CreateILMPolicyRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEILMPOLICYREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CreateILMPolicyResult.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_ELASTICSEARCH_MODEL_CREATEILMPOLICYRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEILMPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CreateILMPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				CreateILMPolicyResult();
+				explicit CreateILMPolicyResult(const std::string &payload);
+				~CreateILMPolicyResult();
+				std::string getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEILMPOLICYRESULT_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CreateIndexTemplateRequest.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_ELASTICSEARCH_MODEL_CREATEINDEXTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEINDEXTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CreateIndexTemplateRequest : public RoaServiceRequest
+			{
+
+			public:
+				CreateIndexTemplateRequest();
+				~CreateIndexTemplateRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEINDEXTEMPLATEREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/CreateIndexTemplateResult.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_ELASTICSEARCH_MODEL_CREATEINDEXTEMPLATERESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEINDEXTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT CreateIndexTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				CreateIndexTemplateResult();
+				explicit CreateIndexTemplateResult(const std::string &payload);
+				~CreateIndexTemplateResult();
+				std::string getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_CREATEINDEXTEMPLATERESULT_H_

+ 54 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DeleteDataStreamRequest.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_ELASTICSEARCH_MODEL_DELETEDATASTREAMREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEDATASTREAMREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DeleteDataStreamRequest : public RoaServiceRequest
+			{
+
+			public:
+				DeleteDataStreamRequest();
+				~DeleteDataStreamRequest();
+
+				std::string getDataStream()const;
+				void setDataStream(const std::string& dataStream);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+
+            private:
+				std::string dataStream_;
+				std::string instanceId_;
+				std::string clientToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEDATASTREAMREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DeleteDataStreamResult.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_ELASTICSEARCH_MODEL_DELETEDATASTREAMRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEDATASTREAMRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DeleteDataStreamResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDataStreamResult();
+				explicit DeleteDataStreamResult(const std::string &payload);
+				~DeleteDataStreamResult();
+				bool getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEDATASTREAMRESULT_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DeleteILMPolicyRequest.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_ELASTICSEARCH_MODEL_DELETEILMPOLICYREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEILMPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DeleteILMPolicyRequest : public RoaServiceRequest
+			{
+
+			public:
+				DeleteILMPolicyRequest();
+				~DeleteILMPolicyRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getPolicyName()const;
+				void setPolicyName(const std::string& policyName);
+
+            private:
+				std::string instanceId_;
+				std::string policyName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEILMPOLICYREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DeleteILMPolicyResult.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_ELASTICSEARCH_MODEL_DELETEILMPOLICYRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEILMPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DeleteILMPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteILMPolicyResult();
+				explicit DeleteILMPolicyResult(const std::string &payload);
+				~DeleteILMPolicyResult();
+				bool getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEILMPOLICYRESULT_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DeleteIndexTemplateRequest.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_ELASTICSEARCH_MODEL_DELETEINDEXTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEINDEXTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DeleteIndexTemplateRequest : public RoaServiceRequest
+			{
+
+			public:
+				DeleteIndexTemplateRequest();
+				~DeleteIndexTemplateRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getIndexTemplate()const;
+				void setIndexTemplate(const std::string& indexTemplate);
+
+            private:
+				std::string instanceId_;
+				std::string indexTemplate_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEINDEXTEMPLATEREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DeleteIndexTemplateResult.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_ELASTICSEARCH_MODEL_DELETEINDEXTEMPLATERESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEINDEXTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DeleteIndexTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteIndexTemplateResult();
+				explicit DeleteIndexTemplateResult(const std::string &payload);
+				~DeleteIndexTemplateResult();
+				bool getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DELETEINDEXTEMPLATERESULT_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DescribeILMPolicyRequest.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_ELASTICSEARCH_MODEL_DESCRIBEILMPOLICYREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DESCRIBEILMPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DescribeILMPolicyRequest : public RoaServiceRequest
+			{
+
+			public:
+				DescribeILMPolicyRequest();
+				~DescribeILMPolicyRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getPolicyName()const;
+				void setPolicyName(const std::string& policyName);
+
+            private:
+				std::string instanceId_;
+				std::string policyName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DESCRIBEILMPOLICYREQUEST_H_

+ 56 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DescribeILMPolicyResult.h

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

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DescribeIndexTemplateRequest.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_ELASTICSEARCH_MODEL_DESCRIBEINDEXTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DESCRIBEINDEXTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DescribeIndexTemplateRequest : public RoaServiceRequest
+			{
+
+			public:
+				DescribeIndexTemplateRequest();
+				~DescribeIndexTemplateRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getIndexTemplate()const;
+				void setIndexTemplate(const std::string& indexTemplate);
+
+            private:
+				std::string instanceId_;
+				std::string indexTemplate_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DESCRIBEINDEXTEMPLATEREQUEST_H_

+ 66 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/DescribeIndexTemplateResult.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_ELASTICSEARCH_MODEL_DESCRIBEINDEXTEMPLATERESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_DESCRIBEINDEXTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT DescribeIndexTemplateResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					struct _Template
+					{
+						std::string mappings;
+						std::string aliases;
+						std::string settings;
+					};
+					std::string ilmPolicy;
+					std::vector<std::string> indexPatterns;
+					_Template _template;
+					bool dataStream;
+					std::string indexTemplate;
+					int priority;
+				};
+
+
+				DescribeIndexTemplateResult();
+				explicit DescribeIndexTemplateResult(const std::string &payload);
+				~DescribeIndexTemplateResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_DESCRIBEINDEXTEMPLATERESULT_H_

+ 54 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListDataStreamsRequest.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_ELASTICSEARCH_MODEL_LISTDATASTREAMSREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTDATASTREAMSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT ListDataStreamsRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListDataStreamsRequest();
+				~ListDataStreamsRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				bool getIsManaged()const;
+				void setIsManaged(bool isManaged);
+				std::string getName()const;
+				void setName(const std::string& name);
+
+            private:
+				std::string instanceId_;
+				bool isManaged_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTDATASTREAMSREQUEST_H_

+ 77 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListDataStreamsResult.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTDATASTREAMSRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTDATASTREAMSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT ListDataStreamsResult : public ServiceResult
+			{
+			public:
+				struct Headers
+				{
+					int xManagedCount;
+					long xManagedStorageSize;
+				};
+				struct ResultItem
+				{
+					struct IndicesItem
+					{
+						std::string managedStatus;
+						std::string health;
+						long size;
+						std::string createTime;
+						bool isManaged;
+						std::string name;
+					};
+					std::vector<ResultItem::IndicesItem> indices;
+					long totalStorageSize;
+					std::string health;
+					long managedStorageSize;
+					std::string indexTemplateName;
+					std::string ilmPolicyName;
+					std::string name;
+				};
+
+
+				ListDataStreamsResult();
+				explicit ListDataStreamsResult(const std::string &payload);
+				~ListDataStreamsResult();
+				Headers getHeaders()const;
+				std::vector<ResultItem> getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Headers headers_;
+				std::vector<ResultItem> result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTDATASTREAMSRESULT_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListILMPoliciesRequest.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_ELASTICSEARCH_MODEL_LISTILMPOLICIESREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTILMPOLICIESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT ListILMPoliciesRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListILMPoliciesRequest();
+				~ListILMPoliciesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getPolicyName()const;
+				void setPolicyName(const std::string& policyName);
+
+            private:
+				std::string instanceId_;
+				std::string policyName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTILMPOLICIESREQUEST_H_

+ 56 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListILMPoliciesResult.h

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

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListIndexTemplatesRequest.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_ELASTICSEARCH_MODEL_LISTINDEXTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTINDEXTEMPLATESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT ListIndexTemplatesRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListIndexTemplatesRequest();
+				~ListIndexTemplatesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getIndexTemplate()const;
+				void setIndexTemplate(const std::string& indexTemplate);
+
+            private:
+				std::string instanceId_;
+				std::string indexTemplate_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTINDEXTEMPLATESREQUEST_H_

+ 66 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListIndexTemplatesResult.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_ELASTICSEARCH_MODEL_LISTINDEXTEMPLATESRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTINDEXTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT ListIndexTemplatesResult : public ServiceResult
+			{
+			public:
+				struct ResultItem
+				{
+					struct _Template
+					{
+						std::string mappings;
+						std::string aliases;
+						std::string settings;
+					};
+					std::string ilmPolicy;
+					std::vector<std::string> indexPatterns;
+					_Template _template;
+					bool dataStream;
+					std::string indexTemplate;
+					int priority;
+				};
+
+
+				ListIndexTemplatesResult();
+				explicit ListIndexTemplatesResult(const std::string &payload);
+				~ListIndexTemplatesResult();
+				std::vector<ResultItem> getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ResultItem> result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_LISTINDEXTEMPLATESRESULT_H_

+ 6 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/ListInstanceIndicesRequest.h

@@ -37,11 +37,17 @@ namespace AlibabaCloud
 
 				std::string getInstanceId()const;
 				void setInstanceId(const std::string& instanceId);
+				bool getIsManaged()const;
+				void setIsManaged(bool isManaged);
+				std::string getName()const;
+				void setName(const std::string& name);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
 
             private:
 				std::string instanceId_;
+				bool isManaged_;
+				std::string name_;
 				std::string lang_;
 
 			};

+ 18 - 2
elasticsearch/include/alibabacloud/elasticsearch/model/ListInstanceIndicesResult.h

@@ -32,17 +32,33 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_ELASTICSEARCH_EXPORT ListInstanceIndicesResult : public ServiceResult
 			{
 			public:
+				struct Headers
+				{
+					int xManagedCount;
+					long xManagedStorageSize;
+				};
+				struct ResultItem
+				{
+					std::string managedStatus;
+					std::string health;
+					long size;
+					std::string createTime;
+					std::string isManaged;
+					std::string name;
+				};
 
 
 				ListInstanceIndicesResult();
 				explicit ListInstanceIndicesResult(const std::string &payload);
 				~ListInstanceIndicesResult();
-				std::vector<std::string> getResult()const;
+				Headers getHeaders()const;
+				std::vector<ResultItem> getResult()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::vector<std::string> result_;
+				Headers headers_;
+				std::vector<ResultItem> result_;
 
 			};
 		}

+ 54 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/RolloverDataStreamRequest.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_ELASTICSEARCH_MODEL_ROLLOVERDATASTREAMREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_ROLLOVERDATASTREAMREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT RolloverDataStreamRequest : public RoaServiceRequest
+			{
+
+			public:
+				RolloverDataStreamRequest();
+				~RolloverDataStreamRequest();
+
+				std::string getDataStream()const;
+				void setDataStream(const std::string& dataStream);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+
+            private:
+				std::string dataStream_;
+				std::string instanceId_;
+				std::string clientToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_ROLLOVERDATASTREAMREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/RolloverDataStreamResult.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_ELASTICSEARCH_MODEL_ROLLOVERDATASTREAMRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_ROLLOVERDATASTREAMRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT RolloverDataStreamResult : public ServiceResult
+			{
+			public:
+
+
+				RolloverDataStreamResult();
+				explicit RolloverDataStreamResult(const std::string &payload);
+				~RolloverDataStreamResult();
+				bool getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_ROLLOVERDATASTREAMRESULT_H_

+ 54 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/UpdateILMPolicyRequest.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_ELASTICSEARCH_MODEL_UPDATEILMPOLICYREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEILMPOLICYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT UpdateILMPolicyRequest : public RoaServiceRequest
+			{
+
+			public:
+				UpdateILMPolicyRequest();
+				~UpdateILMPolicyRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getPolicyName()const;
+				void setPolicyName(const std::string& policyName);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+				std::string policyName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEILMPOLICYREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/UpdateILMPolicyResult.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_ELASTICSEARCH_MODEL_UPDATEILMPOLICYRESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEILMPOLICYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT UpdateILMPolicyResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateILMPolicyResult();
+				explicit UpdateILMPolicyResult(const std::string &payload);
+				~UpdateILMPolicyResult();
+				std::string getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEILMPOLICYRESULT_H_

+ 54 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/UpdateIndexTemplateRequest.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_ELASTICSEARCH_MODEL_UPDATEINDEXTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEINDEXTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT UpdateIndexTemplateRequest : public RoaServiceRequest
+			{
+
+			public:
+				UpdateIndexTemplateRequest();
+				~UpdateIndexTemplateRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getIndexTemplate()const;
+				void setIndexTemplate(const std::string& indexTemplate);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+				std::string indexTemplate_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEINDEXTEMPLATEREQUEST_H_

+ 51 - 0
elasticsearch/include/alibabacloud/elasticsearch/model/UpdateIndexTemplateResult.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_ELASTICSEARCH_MODEL_UPDATEINDEXTEMPLATERESULT_H_
+#define ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEINDEXTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/elasticsearch/ElasticsearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Elasticsearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ELASTICSEARCH_EXPORT UpdateIndexTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateIndexTemplateResult();
+				explicit UpdateIndexTemplateResult(const std::string &payload);
+				~UpdateIndexTemplateResult();
+				std::string getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ELASTICSEARCH_MODEL_UPDATEINDEXTEMPLATERESULT_H_

+ 540 - 0
elasticsearch/src/ElasticsearchClient.cc

@@ -339,6 +339,42 @@ ElasticsearchClient::CloseHttpsOutcomeCallable ElasticsearchClient::closeHttpsCa
 	return task->get_future();
 }
 
+ElasticsearchClient::CloseManagedIndexOutcome ElasticsearchClient::closeManagedIndex(const CloseManagedIndexRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CloseManagedIndexOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CloseManagedIndexOutcome(CloseManagedIndexResult(outcome.result()));
+	else
+		return CloseManagedIndexOutcome(outcome.error());
+}
+
+void ElasticsearchClient::closeManagedIndexAsync(const CloseManagedIndexRequest& request, const CloseManagedIndexAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, closeManagedIndex(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::CloseManagedIndexOutcomeCallable ElasticsearchClient::closeManagedIndexCallable(const CloseManagedIndexRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CloseManagedIndexOutcome()>>(
+			[this, request]()
+			{
+			return this->closeManagedIndex(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::CreateCollectorOutcome ElasticsearchClient::createCollector(const CreateCollectorRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -375,6 +411,42 @@ ElasticsearchClient::CreateCollectorOutcomeCallable ElasticsearchClient::createC
 	return task->get_future();
 }
 
+ElasticsearchClient::CreateDataStreamOutcome ElasticsearchClient::createDataStream(const CreateDataStreamRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDataStreamOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDataStreamOutcome(CreateDataStreamResult(outcome.result()));
+	else
+		return CreateDataStreamOutcome(outcome.error());
+}
+
+void ElasticsearchClient::createDataStreamAsync(const CreateDataStreamRequest& request, const CreateDataStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDataStream(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::CreateDataStreamOutcomeCallable ElasticsearchClient::createDataStreamCallable(const CreateDataStreamRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDataStreamOutcome()>>(
+			[this, request]()
+			{
+			return this->createDataStream(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::CreateDataTasksOutcome ElasticsearchClient::createDataTasks(const CreateDataTasksRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -411,6 +483,78 @@ ElasticsearchClient::CreateDataTasksOutcomeCallable ElasticsearchClient::createD
 	return task->get_future();
 }
 
+ElasticsearchClient::CreateILMPolicyOutcome ElasticsearchClient::createILMPolicy(const CreateILMPolicyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateILMPolicyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateILMPolicyOutcome(CreateILMPolicyResult(outcome.result()));
+	else
+		return CreateILMPolicyOutcome(outcome.error());
+}
+
+void ElasticsearchClient::createILMPolicyAsync(const CreateILMPolicyRequest& request, const CreateILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createILMPolicy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::CreateILMPolicyOutcomeCallable ElasticsearchClient::createILMPolicyCallable(const CreateILMPolicyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateILMPolicyOutcome()>>(
+			[this, request]()
+			{
+			return this->createILMPolicy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ElasticsearchClient::CreateIndexTemplateOutcome ElasticsearchClient::createIndexTemplate(const CreateIndexTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateIndexTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateIndexTemplateOutcome(CreateIndexTemplateResult(outcome.result()));
+	else
+		return CreateIndexTemplateOutcome(outcome.error());
+}
+
+void ElasticsearchClient::createIndexTemplateAsync(const CreateIndexTemplateRequest& request, const CreateIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createIndexTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::CreateIndexTemplateOutcomeCallable ElasticsearchClient::createIndexTemplateCallable(const CreateIndexTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateIndexTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->createIndexTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::CreateInstanceOutcome ElasticsearchClient::createInstance(const CreateInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -699,6 +843,42 @@ ElasticsearchClient::DeleteConnectedClusterOutcomeCallable ElasticsearchClient::
 	return task->get_future();
 }
 
+ElasticsearchClient::DeleteDataStreamOutcome ElasticsearchClient::deleteDataStream(const DeleteDataStreamRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDataStreamOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDataStreamOutcome(DeleteDataStreamResult(outcome.result()));
+	else
+		return DeleteDataStreamOutcome(outcome.error());
+}
+
+void ElasticsearchClient::deleteDataStreamAsync(const DeleteDataStreamRequest& request, const DeleteDataStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDataStream(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::DeleteDataStreamOutcomeCallable ElasticsearchClient::deleteDataStreamCallable(const DeleteDataStreamRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDataStreamOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDataStream(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::DeleteDataTaskOutcome ElasticsearchClient::deleteDataTask(const DeleteDataTaskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,6 +915,78 @@ ElasticsearchClient::DeleteDataTaskOutcomeCallable ElasticsearchClient::deleteDa
 	return task->get_future();
 }
 
+ElasticsearchClient::DeleteILMPolicyOutcome ElasticsearchClient::deleteILMPolicy(const DeleteILMPolicyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteILMPolicyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteILMPolicyOutcome(DeleteILMPolicyResult(outcome.result()));
+	else
+		return DeleteILMPolicyOutcome(outcome.error());
+}
+
+void ElasticsearchClient::deleteILMPolicyAsync(const DeleteILMPolicyRequest& request, const DeleteILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteILMPolicy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::DeleteILMPolicyOutcomeCallable ElasticsearchClient::deleteILMPolicyCallable(const DeleteILMPolicyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteILMPolicyOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteILMPolicy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ElasticsearchClient::DeleteIndexTemplateOutcome ElasticsearchClient::deleteIndexTemplate(const DeleteIndexTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteIndexTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteIndexTemplateOutcome(DeleteIndexTemplateResult(outcome.result()));
+	else
+		return DeleteIndexTemplateOutcome(outcome.error());
+}
+
+void ElasticsearchClient::deleteIndexTemplateAsync(const DeleteIndexTemplateRequest& request, const DeleteIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteIndexTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::DeleteIndexTemplateOutcomeCallable ElasticsearchClient::deleteIndexTemplateCallable(const DeleteIndexTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteIndexTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteIndexTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::DeleteInstanceOutcome ElasticsearchClient::deleteInstance(const DeleteInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1131,6 +1383,78 @@ ElasticsearchClient::DescribeElasticsearchHealthOutcomeCallable ElasticsearchCli
 	return task->get_future();
 }
 
+ElasticsearchClient::DescribeILMPolicyOutcome ElasticsearchClient::describeILMPolicy(const DescribeILMPolicyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeILMPolicyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeILMPolicyOutcome(DescribeILMPolicyResult(outcome.result()));
+	else
+		return DescribeILMPolicyOutcome(outcome.error());
+}
+
+void ElasticsearchClient::describeILMPolicyAsync(const DescribeILMPolicyRequest& request, const DescribeILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeILMPolicy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::DescribeILMPolicyOutcomeCallable ElasticsearchClient::describeILMPolicyCallable(const DescribeILMPolicyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeILMPolicyOutcome()>>(
+			[this, request]()
+			{
+			return this->describeILMPolicy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ElasticsearchClient::DescribeIndexTemplateOutcome ElasticsearchClient::describeIndexTemplate(const DescribeIndexTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeIndexTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeIndexTemplateOutcome(DescribeIndexTemplateResult(outcome.result()));
+	else
+		return DescribeIndexTemplateOutcome(outcome.error());
+}
+
+void ElasticsearchClient::describeIndexTemplateAsync(const DescribeIndexTemplateRequest& request, const DescribeIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeIndexTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::DescribeIndexTemplateOutcomeCallable ElasticsearchClient::describeIndexTemplateCallable(const DescribeIndexTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeIndexTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->describeIndexTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::DescribeInstanceOutcome ElasticsearchClient::describeInstance(const DescribeInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2319,6 +2643,42 @@ ElasticsearchClient::ListConnectedClustersOutcomeCallable ElasticsearchClient::l
 	return task->get_future();
 }
 
+ElasticsearchClient::ListDataStreamsOutcome ElasticsearchClient::listDataStreams(const ListDataStreamsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListDataStreamsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListDataStreamsOutcome(ListDataStreamsResult(outcome.result()));
+	else
+		return ListDataStreamsOutcome(outcome.error());
+}
+
+void ElasticsearchClient::listDataStreamsAsync(const ListDataStreamsRequest& request, const ListDataStreamsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listDataStreams(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::ListDataStreamsOutcomeCallable ElasticsearchClient::listDataStreamsCallable(const ListDataStreamsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListDataStreamsOutcome()>>(
+			[this, request]()
+			{
+			return this->listDataStreams(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::ListDataTasksOutcome ElasticsearchClient::listDataTasks(const ListDataTasksRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2607,6 +2967,78 @@ ElasticsearchClient::ListExtendfilesOutcomeCallable ElasticsearchClient::listExt
 	return task->get_future();
 }
 
+ElasticsearchClient::ListILMPoliciesOutcome ElasticsearchClient::listILMPolicies(const ListILMPoliciesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListILMPoliciesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListILMPoliciesOutcome(ListILMPoliciesResult(outcome.result()));
+	else
+		return ListILMPoliciesOutcome(outcome.error());
+}
+
+void ElasticsearchClient::listILMPoliciesAsync(const ListILMPoliciesRequest& request, const ListILMPoliciesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listILMPolicies(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::ListILMPoliciesOutcomeCallable ElasticsearchClient::listILMPoliciesCallable(const ListILMPoliciesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListILMPoliciesOutcome()>>(
+			[this, request]()
+			{
+			return this->listILMPolicies(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ElasticsearchClient::ListIndexTemplatesOutcome ElasticsearchClient::listIndexTemplates(const ListIndexTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListIndexTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListIndexTemplatesOutcome(ListIndexTemplatesResult(outcome.result()));
+	else
+		return ListIndexTemplatesOutcome(outcome.error());
+}
+
+void ElasticsearchClient::listIndexTemplatesAsync(const ListIndexTemplatesRequest& request, const ListIndexTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listIndexTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::ListIndexTemplatesOutcomeCallable ElasticsearchClient::listIndexTemplatesCallable(const ListIndexTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListIndexTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->listIndexTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::ListInstanceOutcome ElasticsearchClient::listInstance(const ListInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3759,6 +4191,42 @@ ElasticsearchClient::RollbackInstanceOutcomeCallable ElasticsearchClient::rollba
 	return task->get_future();
 }
 
+ElasticsearchClient::RolloverDataStreamOutcome ElasticsearchClient::rolloverDataStream(const RolloverDataStreamRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RolloverDataStreamOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RolloverDataStreamOutcome(RolloverDataStreamResult(outcome.result()));
+	else
+		return RolloverDataStreamOutcome(outcome.error());
+}
+
+void ElasticsearchClient::rolloverDataStreamAsync(const RolloverDataStreamRequest& request, const RolloverDataStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, rolloverDataStream(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::RolloverDataStreamOutcomeCallable ElasticsearchClient::rolloverDataStreamCallable(const RolloverDataStreamRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RolloverDataStreamOutcome()>>(
+			[this, request]()
+			{
+			return this->rolloverDataStream(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::RunPipelinesOutcome ElasticsearchClient::runPipelines(const RunPipelinesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4623,6 +5091,78 @@ ElasticsearchClient::UpdateHotIkDictsOutcomeCallable ElasticsearchClient::update
 	return task->get_future();
 }
 
+ElasticsearchClient::UpdateILMPolicyOutcome ElasticsearchClient::updateILMPolicy(const UpdateILMPolicyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateILMPolicyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateILMPolicyOutcome(UpdateILMPolicyResult(outcome.result()));
+	else
+		return UpdateILMPolicyOutcome(outcome.error());
+}
+
+void ElasticsearchClient::updateILMPolicyAsync(const UpdateILMPolicyRequest& request, const UpdateILMPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateILMPolicy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::UpdateILMPolicyOutcomeCallable ElasticsearchClient::updateILMPolicyCallable(const UpdateILMPolicyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateILMPolicyOutcome()>>(
+			[this, request]()
+			{
+			return this->updateILMPolicy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ElasticsearchClient::UpdateIndexTemplateOutcome ElasticsearchClient::updateIndexTemplate(const UpdateIndexTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateIndexTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateIndexTemplateOutcome(UpdateIndexTemplateResult(outcome.result()));
+	else
+		return UpdateIndexTemplateOutcome(outcome.error());
+}
+
+void ElasticsearchClient::updateIndexTemplateAsync(const UpdateIndexTemplateRequest& request, const UpdateIndexTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateIndexTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ElasticsearchClient::UpdateIndexTemplateOutcomeCallable ElasticsearchClient::updateIndexTemplateCallable(const UpdateIndexTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateIndexTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->updateIndexTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ElasticsearchClient::UpdateInstanceOutcome ElasticsearchClient::updateInstance(const UpdateInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 63 - 0
elasticsearch/src/model/CloseManagedIndexRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/elasticsearch/model/CloseManagedIndexRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::CloseManagedIndexRequest;
+
+CloseManagedIndexRequest::CloseManagedIndexRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/indices/[Index]/close-managed");
+	setMethod(HttpRequest::Method::Post);
+}
+
+CloseManagedIndexRequest::~CloseManagedIndexRequest()
+{}
+
+std::string CloseManagedIndexRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CloseManagedIndexRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CloseManagedIndexRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CloseManagedIndexRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string CloseManagedIndexRequest::getIndex()const
+{
+	return index_;
+}
+
+void CloseManagedIndexRequest::setIndex(const std::string& index)
+{
+	index_ = index;
+	setParameter("Index", index);
+}
+

+ 51 - 0
elasticsearch/src/model/CloseManagedIndexResult.cc

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

+ 52 - 0
elasticsearch/src/model/CreateDataStreamRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/CreateDataStreamRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::CreateDataStreamRequest;
+
+CreateDataStreamRequest::CreateDataStreamRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/data-streams");
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateDataStreamRequest::~CreateDataStreamRequest()
+{}
+
+std::string CreateDataStreamRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateDataStreamRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CreateDataStreamRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateDataStreamRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+

+ 52 - 0
elasticsearch/src/model/CreateDataStreamResult.cc

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

+ 52 - 0
elasticsearch/src/model/CreateILMPolicyRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/CreateILMPolicyRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::CreateILMPolicyRequest;
+
+CreateILMPolicyRequest::CreateILMPolicyRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/ilm-policies");
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateILMPolicyRequest::~CreateILMPolicyRequest()
+{}
+
+std::string CreateILMPolicyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateILMPolicyRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CreateILMPolicyRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateILMPolicyRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+

+ 51 - 0
elasticsearch/src/model/CreateILMPolicyResult.cc

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

+ 52 - 0
elasticsearch/src/model/CreateIndexTemplateRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/CreateIndexTemplateRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::CreateIndexTemplateRequest;
+
+CreateIndexTemplateRequest::CreateIndexTemplateRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/index-templates");
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateIndexTemplateRequest::~CreateIndexTemplateRequest()
+{}
+
+std::string CreateIndexTemplateRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateIndexTemplateRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CreateIndexTemplateRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateIndexTemplateRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+

+ 51 - 0
elasticsearch/src/model/CreateIndexTemplateResult.cc

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

+ 63 - 0
elasticsearch/src/model/DeleteDataStreamRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/elasticsearch/model/DeleteDataStreamRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::DeleteDataStreamRequest;
+
+DeleteDataStreamRequest::DeleteDataStreamRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/data-streams/[DataStream]");
+	setMethod(HttpRequest::Method::Delete);
+}
+
+DeleteDataStreamRequest::~DeleteDataStreamRequest()
+{}
+
+std::string DeleteDataStreamRequest::getDataStream()const
+{
+	return dataStream_;
+}
+
+void DeleteDataStreamRequest::setDataStream(const std::string& dataStream)
+{
+	dataStream_ = dataStream;
+	setParameter("DataStream", dataStream);
+}
+
+std::string DeleteDataStreamRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteDataStreamRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DeleteDataStreamRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void DeleteDataStreamRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+

+ 51 - 0
elasticsearch/src/model/DeleteDataStreamResult.cc

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

+ 52 - 0
elasticsearch/src/model/DeleteILMPolicyRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/DeleteILMPolicyRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::DeleteILMPolicyRequest;
+
+DeleteILMPolicyRequest::DeleteILMPolicyRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/ilm-policies/[PolicyName]");
+	setMethod(HttpRequest::Method::Delete);
+}
+
+DeleteILMPolicyRequest::~DeleteILMPolicyRequest()
+{}
+
+std::string DeleteILMPolicyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteILMPolicyRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DeleteILMPolicyRequest::getPolicyName()const
+{
+	return policyName_;
+}
+
+void DeleteILMPolicyRequest::setPolicyName(const std::string& policyName)
+{
+	policyName_ = policyName;
+	setParameter("PolicyName", policyName);
+}
+

+ 51 - 0
elasticsearch/src/model/DeleteILMPolicyResult.cc

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

+ 52 - 0
elasticsearch/src/model/DeleteIndexTemplateRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/DeleteIndexTemplateRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::DeleteIndexTemplateRequest;
+
+DeleteIndexTemplateRequest::DeleteIndexTemplateRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/index-templates/[IndexTemplate]");
+	setMethod(HttpRequest::Method::Delete);
+}
+
+DeleteIndexTemplateRequest::~DeleteIndexTemplateRequest()
+{}
+
+std::string DeleteIndexTemplateRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteIndexTemplateRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DeleteIndexTemplateRequest::getIndexTemplate()const
+{
+	return indexTemplate_;
+}
+
+void DeleteIndexTemplateRequest::setIndexTemplate(const std::string& indexTemplate)
+{
+	indexTemplate_ = indexTemplate;
+	setParameter("IndexTemplate", indexTemplate);
+}
+

+ 51 - 0
elasticsearch/src/model/DeleteIndexTemplateResult.cc

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

+ 52 - 0
elasticsearch/src/model/DescribeILMPolicyRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/DescribeILMPolicyRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::DescribeILMPolicyRequest;
+
+DescribeILMPolicyRequest::DescribeILMPolicyRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/ilm-policies/[PolicyName]");
+	setMethod(HttpRequest::Method::Get);
+}
+
+DescribeILMPolicyRequest::~DescribeILMPolicyRequest()
+{}
+
+std::string DescribeILMPolicyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeILMPolicyRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeILMPolicyRequest::getPolicyName()const
+{
+	return policyName_;
+}
+
+void DescribeILMPolicyRequest::setPolicyName(const std::string& policyName)
+{
+	policyName_ = policyName;
+	setParameter("PolicyName", policyName);
+}
+

+ 54 - 0
elasticsearch/src/model/DescribeILMPolicyResult.cc

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

+ 52 - 0
elasticsearch/src/model/DescribeIndexTemplateRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/DescribeIndexTemplateRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::DescribeIndexTemplateRequest;
+
+DescribeIndexTemplateRequest::DescribeIndexTemplateRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/index-templates/[IndexTemplate]");
+	setMethod(HttpRequest::Method::Get);
+}
+
+DescribeIndexTemplateRequest::~DescribeIndexTemplateRequest()
+{}
+
+std::string DescribeIndexTemplateRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeIndexTemplateRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeIndexTemplateRequest::getIndexTemplate()const
+{
+	return indexTemplate_;
+}
+
+void DescribeIndexTemplateRequest::setIndexTemplate(const std::string& indexTemplate)
+{
+	indexTemplate_ = indexTemplate;
+	setParameter("IndexTemplate", indexTemplate);
+}
+

+ 68 - 0
elasticsearch/src/model/DescribeIndexTemplateResult.cc

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

+ 63 - 0
elasticsearch/src/model/ListDataStreamsRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/elasticsearch/model/ListDataStreamsRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::ListDataStreamsRequest;
+
+ListDataStreamsRequest::ListDataStreamsRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/data-streams");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListDataStreamsRequest::~ListDataStreamsRequest()
+{}
+
+std::string ListDataStreamsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListDataStreamsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+bool ListDataStreamsRequest::getIsManaged()const
+{
+	return isManaged_;
+}
+
+void ListDataStreamsRequest::setIsManaged(bool isManaged)
+{
+	isManaged_ = isManaged;
+	setParameter("IsManaged", isManaged ? "true" : "false");
+}
+
+std::string ListDataStreamsRequest::getName()const
+{
+	return name_;
+}
+
+void ListDataStreamsRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+

+ 95 - 0
elasticsearch/src/model/ListDataStreamsResult.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/ListDataStreamsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Elasticsearch;
+using namespace AlibabaCloud::Elasticsearch::Model;
+
+ListDataStreamsResult::ListDataStreamsResult() :
+	ServiceResult()
+{}
+
+ListDataStreamsResult::ListDataStreamsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListDataStreamsResult::~ListDataStreamsResult()
+{}
+
+void ListDataStreamsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allResultNode = value["Result"]["ResultItem"];
+	for (auto valueResultResultItem : allResultNode)
+	{
+		ResultItem resultObject;
+		if(!valueResultResultItem["health"].isNull())
+			resultObject.health = valueResultResultItem["health"].asString();
+		if(!valueResultResultItem["totalStorageSize"].isNull())
+			resultObject.totalStorageSize = std::stol(valueResultResultItem["totalStorageSize"].asString());
+		if(!valueResultResultItem["name"].isNull())
+			resultObject.name = valueResultResultItem["name"].asString();
+		if(!valueResultResultItem["managedStorageSize"].isNull())
+			resultObject.managedStorageSize = std::stol(valueResultResultItem["managedStorageSize"].asString());
+		if(!valueResultResultItem["indexTemplateName"].isNull())
+			resultObject.indexTemplateName = valueResultResultItem["indexTemplateName"].asString();
+		if(!valueResultResultItem["ilmPolicyName"].isNull())
+			resultObject.ilmPolicyName = valueResultResultItem["ilmPolicyName"].asString();
+		auto allindicesNode = valueResultResultItem["indices"]["indicesItem"];
+		for (auto valueResultResultItemindicesindicesItem : allindicesNode)
+		{
+			ResultItem::IndicesItem indicesObject;
+			if(!valueResultResultItemindicesindicesItem["name"].isNull())
+				indicesObject.name = valueResultResultItemindicesindicesItem["name"].asString();
+			if(!valueResultResultItemindicesindicesItem["health"].isNull())
+				indicesObject.health = valueResultResultItemindicesindicesItem["health"].asString();
+			if(!valueResultResultItemindicesindicesItem["size"].isNull())
+				indicesObject.size = std::stol(valueResultResultItemindicesindicesItem["size"].asString());
+			if(!valueResultResultItemindicesindicesItem["createTime"].isNull())
+				indicesObject.createTime = valueResultResultItemindicesindicesItem["createTime"].asString();
+			if(!valueResultResultItemindicesindicesItem["isManaged"].isNull())
+				indicesObject.isManaged = valueResultResultItemindicesindicesItem["isManaged"].asString() == "true";
+			if(!valueResultResultItemindicesindicesItem["managedStatus"].isNull())
+				indicesObject.managedStatus = valueResultResultItemindicesindicesItem["managedStatus"].asString();
+			resultObject.indices.push_back(indicesObject);
+		}
+		result_.push_back(resultObject);
+	}
+	auto headersNode = value["Headers"];
+	if(!headersNode["X-Managed-Count"].isNull())
+		headers_.xManagedCount = std::stoi(headersNode["X-Managed-Count"].asString());
+	if(!headersNode["X-Managed-StorageSize"].isNull())
+		headers_.xManagedStorageSize = std::stol(headersNode["X-Managed-StorageSize"].asString());
+
+}
+
+ListDataStreamsResult::Headers ListDataStreamsResult::getHeaders()const
+{
+	return headers_;
+}
+
+std::vector<ListDataStreamsResult::ResultItem> ListDataStreamsResult::getResult()const
+{
+	return result_;
+}
+

+ 52 - 0
elasticsearch/src/model/ListILMPoliciesRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/ListILMPoliciesRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::ListILMPoliciesRequest;
+
+ListILMPoliciesRequest::ListILMPoliciesRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/ilm-policies");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListILMPoliciesRequest::~ListILMPoliciesRequest()
+{}
+
+std::string ListILMPoliciesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListILMPoliciesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListILMPoliciesRequest::getPolicyName()const
+{
+	return policyName_;
+}
+
+void ListILMPoliciesRequest::setPolicyName(const std::string& policyName)
+{
+	policyName_ = policyName;
+	setParameter("PolicyName", policyName);
+}
+

+ 59 - 0
elasticsearch/src/model/ListILMPoliciesResult.cc

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

+ 52 - 0
elasticsearch/src/model/ListIndexTemplatesRequest.cc

@@ -0,0 +1,52 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/ListIndexTemplatesRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::ListIndexTemplatesRequest;
+
+ListIndexTemplatesRequest::ListIndexTemplatesRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/index-templates");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListIndexTemplatesRequest::~ListIndexTemplatesRequest()
+{}
+
+std::string ListIndexTemplatesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListIndexTemplatesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListIndexTemplatesRequest::getIndexTemplate()const
+{
+	return indexTemplate_;
+}
+
+void ListIndexTemplatesRequest::setIndexTemplate(const std::string& indexTemplate)
+{
+	indexTemplate_ = indexTemplate;
+	setParameter("IndexTemplate", indexTemplate);
+}
+

+ 73 - 0
elasticsearch/src/model/ListIndexTemplatesResult.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/elasticsearch/model/ListIndexTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Elasticsearch;
+using namespace AlibabaCloud::Elasticsearch::Model;
+
+ListIndexTemplatesResult::ListIndexTemplatesResult() :
+	ServiceResult()
+{}
+
+ListIndexTemplatesResult::ListIndexTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListIndexTemplatesResult::~ListIndexTemplatesResult()
+{}
+
+void ListIndexTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allResultNode = value["Result"]["ResultItem"];
+	for (auto valueResultResultItem : allResultNode)
+	{
+		ResultItem resultObject;
+		if(!valueResultResultItem["indexTemplate"].isNull())
+			resultObject.indexTemplate = valueResultResultItem["indexTemplate"].asString();
+		if(!valueResultResultItem["dataStream"].isNull())
+			resultObject.dataStream = valueResultResultItem["dataStream"].asString() == "true";
+		if(!valueResultResultItem["priority"].isNull())
+			resultObject.priority = std::stoi(valueResultResultItem["priority"].asString());
+		if(!valueResultResultItem["ilmPolicy"].isNull())
+			resultObject.ilmPolicy = valueResultResultItem["ilmPolicy"].asString();
+		auto _templateNode = value["template"];
+		if(!_templateNode["settings"].isNull())
+			resultObject._template.settings = _templateNode["settings"].asString();
+		if(!_templateNode["mappings"].isNull())
+			resultObject._template.mappings = _templateNode["mappings"].asString();
+		if(!_templateNode["aliases"].isNull())
+			resultObject._template.aliases = _templateNode["aliases"].asString();
+		auto allIndexPatterns = value["indexPatterns"]["indexPatterns"];
+		for (auto value : allIndexPatterns)
+			resultObject.indexPatterns.push_back(value.asString());
+		result_.push_back(resultObject);
+	}
+
+}
+
+std::vector<ListIndexTemplatesResult::ResultItem> ListIndexTemplatesResult::getResult()const
+{
+	return result_;
+}
+

+ 22 - 0
elasticsearch/src/model/ListInstanceIndicesRequest.cc

@@ -39,6 +39,28 @@ void ListInstanceIndicesRequest::setInstanceId(const std::string& instanceId)
 	setParameter("InstanceId", instanceId);
 }
 
+bool ListInstanceIndicesRequest::getIsManaged()const
+{
+	return isManaged_;
+}
+
+void ListInstanceIndicesRequest::setIsManaged(bool isManaged)
+{
+	isManaged_ = isManaged;
+	setParameter("IsManaged", isManaged ? "true" : "false");
+}
+
+std::string ListInstanceIndicesRequest::getName()const
+{
+	return name_;
+}
+
+void ListInstanceIndicesRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
 std::string ListInstanceIndicesRequest::getLang()const
 {
 	return lang_;

+ 29 - 4
elasticsearch/src/model/ListInstanceIndicesResult.cc

@@ -39,13 +39,38 @@ void ListInstanceIndicesResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	auto allResult = value["Result"]["Result"];
-	for (const auto &item : allResult)
-		result_.push_back(item.asString());
+	auto allResultNode = value["Result"]["ResultItem"];
+	for (auto valueResultResultItem : allResultNode)
+	{
+		ResultItem resultObject;
+		if(!valueResultResultItem["name"].isNull())
+			resultObject.name = valueResultResultItem["name"].asString();
+		if(!valueResultResultItem["health"].isNull())
+			resultObject.health = valueResultResultItem["health"].asString();
+		if(!valueResultResultItem["size"].isNull())
+			resultObject.size = std::stol(valueResultResultItem["size"].asString());
+		if(!valueResultResultItem["createTime"].isNull())
+			resultObject.createTime = valueResultResultItem["createTime"].asString();
+		if(!valueResultResultItem["isManaged"].isNull())
+			resultObject.isManaged = valueResultResultItem["isManaged"].asString();
+		if(!valueResultResultItem["managedStatus"].isNull())
+			resultObject.managedStatus = valueResultResultItem["managedStatus"].asString();
+		result_.push_back(resultObject);
+	}
+	auto headersNode = value["Headers"];
+	if(!headersNode["X-Managed-Count"].isNull())
+		headers_.xManagedCount = std::stoi(headersNode["X-Managed-Count"].asString());
+	if(!headersNode["X-Managed-StorageSize"].isNull())
+		headers_.xManagedStorageSize = std::stol(headersNode["X-Managed-StorageSize"].asString());
 
 }
 
-std::vector<std::string> ListInstanceIndicesResult::getResult()const
+ListInstanceIndicesResult::Headers ListInstanceIndicesResult::getHeaders()const
+{
+	return headers_;
+}
+
+std::vector<ListInstanceIndicesResult::ResultItem> ListInstanceIndicesResult::getResult()const
 {
 	return result_;
 }

+ 63 - 0
elasticsearch/src/model/RolloverDataStreamRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/elasticsearch/model/RolloverDataStreamRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::RolloverDataStreamRequest;
+
+RolloverDataStreamRequest::RolloverDataStreamRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/data-streams/[DataStream]/rollover");
+	setMethod(HttpRequest::Method::Post);
+}
+
+RolloverDataStreamRequest::~RolloverDataStreamRequest()
+{}
+
+std::string RolloverDataStreamRequest::getDataStream()const
+{
+	return dataStream_;
+}
+
+void RolloverDataStreamRequest::setDataStream(const std::string& dataStream)
+{
+	dataStream_ = dataStream;
+	setParameter("DataStream", dataStream);
+}
+
+std::string RolloverDataStreamRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void RolloverDataStreamRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string RolloverDataStreamRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void RolloverDataStreamRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+

+ 51 - 0
elasticsearch/src/model/RolloverDataStreamResult.cc

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

+ 63 - 0
elasticsearch/src/model/UpdateILMPolicyRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/elasticsearch/model/UpdateILMPolicyRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::UpdateILMPolicyRequest;
+
+UpdateILMPolicyRequest::UpdateILMPolicyRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/ilm-policies/[PolicyName]");
+	setMethod(HttpRequest::Method::Put);
+}
+
+UpdateILMPolicyRequest::~UpdateILMPolicyRequest()
+{}
+
+std::string UpdateILMPolicyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void UpdateILMPolicyRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string UpdateILMPolicyRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void UpdateILMPolicyRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string UpdateILMPolicyRequest::getPolicyName()const
+{
+	return policyName_;
+}
+
+void UpdateILMPolicyRequest::setPolicyName(const std::string& policyName)
+{
+	policyName_ = policyName;
+	setParameter("PolicyName", policyName);
+}
+

+ 51 - 0
elasticsearch/src/model/UpdateILMPolicyResult.cc

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

+ 63 - 0
elasticsearch/src/model/UpdateIndexTemplateRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/elasticsearch/model/UpdateIndexTemplateRequest.h>
+
+using AlibabaCloud::Elasticsearch::Model::UpdateIndexTemplateRequest;
+
+UpdateIndexTemplateRequest::UpdateIndexTemplateRequest() :
+	RoaServiceRequest("elasticsearch", "2017-06-13")
+{
+	setResourcePath("/openapi/instances/[InstanceId]/index-templates/[IndexTemplate]");
+	setMethod(HttpRequest::Method::Put);
+}
+
+UpdateIndexTemplateRequest::~UpdateIndexTemplateRequest()
+{}
+
+std::string UpdateIndexTemplateRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void UpdateIndexTemplateRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string UpdateIndexTemplateRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void UpdateIndexTemplateRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string UpdateIndexTemplateRequest::getIndexTemplate()const
+{
+	return indexTemplate_;
+}
+
+void UpdateIndexTemplateRequest::setIndexTemplate(const std::string& indexTemplate)
+{
+	indexTemplate_ = indexTemplate;
+	setParameter("IndexTemplate", indexTemplate);
+}
+

+ 51 - 0
elasticsearch/src/model/UpdateIndexTemplateResult.cc

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