瀏覽代碼

Add API GenerateMergedTable.

sdk-team 5 年之前
父節點
當前提交
6234d4fd3d

+ 6 - 0
CHANGELOG

@@ -1,3 +1,9 @@
+2021-05-10 Version: 1.36.722
+- Add API GenerateMergedTable.
+- Add API ListDateSourceTables.
+- Add API ListDateSourceTableFields.
+- Add API ListRamRoles.
+
 2021-05-10 Version: 1.36.721
 - Delete API.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.721
+1.36.722

+ 16 - 0
opensearch/CMakeLists.txt

@@ -105,6 +105,8 @@ set(opensearch_public_header_model
 	include/alibabacloud/opensearch/model/DisableSlowQueryResult.h
 	include/alibabacloud/opensearch/model/EnableSlowQueryRequest.h
 	include/alibabacloud/opensearch/model/EnableSlowQueryResult.h
+	include/alibabacloud/opensearch/model/GenerateMergedTableRequest.h
+	include/alibabacloud/opensearch/model/GenerateMergedTableResult.h
 	include/alibabacloud/opensearch/model/GetDomainRequest.h
 	include/alibabacloud/opensearch/model/GetDomainResult.h
 	include/alibabacloud/opensearch/model/GetModelProgressRequest.h
@@ -141,6 +143,10 @@ set(opensearch_public_header_model
 	include/alibabacloud/opensearch/model/ListAppsResult.h
 	include/alibabacloud/opensearch/model/ListDataCollectionsRequest.h
 	include/alibabacloud/opensearch/model/ListDataCollectionsResult.h
+	include/alibabacloud/opensearch/model/ListDataSourceTableFieldsRequest.h
+	include/alibabacloud/opensearch/model/ListDataSourceTableFieldsResult.h
+	include/alibabacloud/opensearch/model/ListDataSourceTablesRequest.h
+	include/alibabacloud/opensearch/model/ListDataSourceTablesResult.h
 	include/alibabacloud/opensearch/model/ListDeployedAlgorithmModelsRequest.h
 	include/alibabacloud/opensearch/model/ListDeployedAlgorithmModelsResult.h
 	include/alibabacloud/opensearch/model/ListFirstRanksRequest.h
@@ -159,6 +165,8 @@ set(opensearch_public_header_model
 	include/alibabacloud/opensearch/model/ListQueryProcessorNersResult.h
 	include/alibabacloud/opensearch/model/ListQueryProcessorsRequest.h
 	include/alibabacloud/opensearch/model/ListQueryProcessorsResult.h
+	include/alibabacloud/opensearch/model/ListRamRolesRequest.h
+	include/alibabacloud/opensearch/model/ListRamRolesResult.h
 	include/alibabacloud/opensearch/model/ListScheduledTasksRequest.h
 	include/alibabacloud/opensearch/model/ListScheduledTasksResult.h
 	include/alibabacloud/opensearch/model/ListSecondRanksRequest.h
@@ -330,6 +338,8 @@ set(opensearch_src
 	src/model/DisableSlowQueryResult.cc
 	src/model/EnableSlowQueryRequest.cc
 	src/model/EnableSlowQueryResult.cc
+	src/model/GenerateMergedTableRequest.cc
+	src/model/GenerateMergedTableResult.cc
 	src/model/GetDomainRequest.cc
 	src/model/GetDomainResult.cc
 	src/model/GetModelProgressRequest.cc
@@ -366,6 +376,10 @@ set(opensearch_src
 	src/model/ListAppsResult.cc
 	src/model/ListDataCollectionsRequest.cc
 	src/model/ListDataCollectionsResult.cc
+	src/model/ListDataSourceTableFieldsRequest.cc
+	src/model/ListDataSourceTableFieldsResult.cc
+	src/model/ListDataSourceTablesRequest.cc
+	src/model/ListDataSourceTablesResult.cc
 	src/model/ListDeployedAlgorithmModelsRequest.cc
 	src/model/ListDeployedAlgorithmModelsResult.cc
 	src/model/ListFirstRanksRequest.cc
@@ -384,6 +398,8 @@ set(opensearch_src
 	src/model/ListQueryProcessorNersResult.cc
 	src/model/ListQueryProcessorsRequest.cc
 	src/model/ListQueryProcessorsResult.cc
+	src/model/ListRamRolesRequest.cc
+	src/model/ListRamRolesResult.cc
 	src/model/ListScheduledTasksRequest.cc
 	src/model/ListScheduledTasksResult.cc
 	src/model/ListSecondRanksRequest.cc

+ 32 - 0
opensearch/include/alibabacloud/opensearch/OpenSearchClient.h

@@ -106,6 +106,8 @@
 #include "model/DisableSlowQueryResult.h"
 #include "model/EnableSlowQueryRequest.h"
 #include "model/EnableSlowQueryResult.h"
+#include "model/GenerateMergedTableRequest.h"
+#include "model/GenerateMergedTableResult.h"
 #include "model/GetDomainRequest.h"
 #include "model/GetDomainResult.h"
 #include "model/GetModelProgressRequest.h"
@@ -142,6 +144,10 @@
 #include "model/ListAppsResult.h"
 #include "model/ListDataCollectionsRequest.h"
 #include "model/ListDataCollectionsResult.h"
+#include "model/ListDataSourceTableFieldsRequest.h"
+#include "model/ListDataSourceTableFieldsResult.h"
+#include "model/ListDataSourceTablesRequest.h"
+#include "model/ListDataSourceTablesResult.h"
 #include "model/ListDeployedAlgorithmModelsRequest.h"
 #include "model/ListDeployedAlgorithmModelsResult.h"
 #include "model/ListFirstRanksRequest.h"
@@ -160,6 +166,8 @@
 #include "model/ListQueryProcessorNersResult.h"
 #include "model/ListQueryProcessorsRequest.h"
 #include "model/ListQueryProcessorsResult.h"
+#include "model/ListRamRolesRequest.h"
+#include "model/ListRamRolesResult.h"
 #include "model/ListScheduledTasksRequest.h"
 #include "model/ListScheduledTasksResult.h"
 #include "model/ListSecondRanksRequest.h"
@@ -379,6 +387,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::EnableSlowQueryResult> EnableSlowQueryOutcome;
 			typedef std::future<EnableSlowQueryOutcome> EnableSlowQueryOutcomeCallable;
 			typedef std::function<void(const OpenSearchClient*, const Model::EnableSlowQueryRequest&, const EnableSlowQueryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableSlowQueryAsyncHandler;
+			typedef Outcome<Error, Model::GenerateMergedTableResult> GenerateMergedTableOutcome;
+			typedef std::future<GenerateMergedTableOutcome> GenerateMergedTableOutcomeCallable;
+			typedef std::function<void(const OpenSearchClient*, const Model::GenerateMergedTableRequest&, const GenerateMergedTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GenerateMergedTableAsyncHandler;
 			typedef Outcome<Error, Model::GetDomainResult> GetDomainOutcome;
 			typedef std::future<GetDomainOutcome> GetDomainOutcomeCallable;
 			typedef std::function<void(const OpenSearchClient*, const Model::GetDomainRequest&, const GetDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDomainAsyncHandler;
@@ -433,6 +444,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListDataCollectionsResult> ListDataCollectionsOutcome;
 			typedef std::future<ListDataCollectionsOutcome> ListDataCollectionsOutcomeCallable;
 			typedef std::function<void(const OpenSearchClient*, const Model::ListDataCollectionsRequest&, const ListDataCollectionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDataCollectionsAsyncHandler;
+			typedef Outcome<Error, Model::ListDataSourceTableFieldsResult> ListDataSourceTableFieldsOutcome;
+			typedef std::future<ListDataSourceTableFieldsOutcome> ListDataSourceTableFieldsOutcomeCallable;
+			typedef std::function<void(const OpenSearchClient*, const Model::ListDataSourceTableFieldsRequest&, const ListDataSourceTableFieldsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDataSourceTableFieldsAsyncHandler;
+			typedef Outcome<Error, Model::ListDataSourceTablesResult> ListDataSourceTablesOutcome;
+			typedef std::future<ListDataSourceTablesOutcome> ListDataSourceTablesOutcomeCallable;
+			typedef std::function<void(const OpenSearchClient*, const Model::ListDataSourceTablesRequest&, const ListDataSourceTablesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDataSourceTablesAsyncHandler;
 			typedef Outcome<Error, Model::ListDeployedAlgorithmModelsResult> ListDeployedAlgorithmModelsOutcome;
 			typedef std::future<ListDeployedAlgorithmModelsOutcome> ListDeployedAlgorithmModelsOutcomeCallable;
 			typedef std::function<void(const OpenSearchClient*, const Model::ListDeployedAlgorithmModelsRequest&, const ListDeployedAlgorithmModelsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDeployedAlgorithmModelsAsyncHandler;
@@ -460,6 +477,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListQueryProcessorsResult> ListQueryProcessorsOutcome;
 			typedef std::future<ListQueryProcessorsOutcome> ListQueryProcessorsOutcomeCallable;
 			typedef std::function<void(const OpenSearchClient*, const Model::ListQueryProcessorsRequest&, const ListQueryProcessorsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListQueryProcessorsAsyncHandler;
+			typedef Outcome<Error, Model::ListRamRolesResult> ListRamRolesOutcome;
+			typedef std::future<ListRamRolesOutcome> ListRamRolesOutcomeCallable;
+			typedef std::function<void(const OpenSearchClient*, const Model::ListRamRolesRequest&, const ListRamRolesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRamRolesAsyncHandler;
 			typedef Outcome<Error, Model::ListScheduledTasksResult> ListScheduledTasksOutcome;
 			typedef std::future<ListScheduledTasksOutcome> ListScheduledTasksOutcomeCallable;
 			typedef std::function<void(const OpenSearchClient*, const Model::ListScheduledTasksRequest&, const ListScheduledTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListScheduledTasksAsyncHandler;
@@ -717,6 +737,9 @@ namespace AlibabaCloud
 			EnableSlowQueryOutcome enableSlowQuery(const Model::EnableSlowQueryRequest &request)const;
 			void enableSlowQueryAsync(const Model::EnableSlowQueryRequest& request, const EnableSlowQueryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnableSlowQueryOutcomeCallable enableSlowQueryCallable(const Model::EnableSlowQueryRequest& request) const;
+			GenerateMergedTableOutcome generateMergedTable(const Model::GenerateMergedTableRequest &request)const;
+			void generateMergedTableAsync(const Model::GenerateMergedTableRequest& request, const GenerateMergedTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GenerateMergedTableOutcomeCallable generateMergedTableCallable(const Model::GenerateMergedTableRequest& request) const;
 			GetDomainOutcome getDomain(const Model::GetDomainRequest &request)const;
 			void getDomainAsync(const Model::GetDomainRequest& request, const GetDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetDomainOutcomeCallable getDomainCallable(const Model::GetDomainRequest& request) const;
@@ -771,6 +794,12 @@ namespace AlibabaCloud
 			ListDataCollectionsOutcome listDataCollections(const Model::ListDataCollectionsRequest &request)const;
 			void listDataCollectionsAsync(const Model::ListDataCollectionsRequest& request, const ListDataCollectionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListDataCollectionsOutcomeCallable listDataCollectionsCallable(const Model::ListDataCollectionsRequest& request) const;
+			ListDataSourceTableFieldsOutcome listDataSourceTableFields(const Model::ListDataSourceTableFieldsRequest &request)const;
+			void listDataSourceTableFieldsAsync(const Model::ListDataSourceTableFieldsRequest& request, const ListDataSourceTableFieldsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDataSourceTableFieldsOutcomeCallable listDataSourceTableFieldsCallable(const Model::ListDataSourceTableFieldsRequest& request) const;
+			ListDataSourceTablesOutcome listDataSourceTables(const Model::ListDataSourceTablesRequest &request)const;
+			void listDataSourceTablesAsync(const Model::ListDataSourceTablesRequest& request, const ListDataSourceTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDataSourceTablesOutcomeCallable listDataSourceTablesCallable(const Model::ListDataSourceTablesRequest& request) const;
 			ListDeployedAlgorithmModelsOutcome listDeployedAlgorithmModels(const Model::ListDeployedAlgorithmModelsRequest &request)const;
 			void listDeployedAlgorithmModelsAsync(const Model::ListDeployedAlgorithmModelsRequest& request, const ListDeployedAlgorithmModelsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListDeployedAlgorithmModelsOutcomeCallable listDeployedAlgorithmModelsCallable(const Model::ListDeployedAlgorithmModelsRequest& request) const;
@@ -798,6 +827,9 @@ namespace AlibabaCloud
 			ListQueryProcessorsOutcome listQueryProcessors(const Model::ListQueryProcessorsRequest &request)const;
 			void listQueryProcessorsAsync(const Model::ListQueryProcessorsRequest& request, const ListQueryProcessorsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListQueryProcessorsOutcomeCallable listQueryProcessorsCallable(const Model::ListQueryProcessorsRequest& request) const;
+			ListRamRolesOutcome listRamRoles(const Model::ListRamRolesRequest &request)const;
+			void listRamRolesAsync(const Model::ListRamRolesRequest& request, const ListRamRolesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRamRolesOutcomeCallable listRamRolesCallable(const Model::ListRamRolesRequest& request) const;
 			ListScheduledTasksOutcome listScheduledTasks(const Model::ListScheduledTasksRequest &request)const;
 			void listScheduledTasksAsync(const Model::ListScheduledTasksRequest& request, const ListScheduledTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListScheduledTasksOutcomeCallable listScheduledTasksCallable(const Model::ListScheduledTasksRequest& request) const;

+ 48 - 0
opensearch/include/alibabacloud/opensearch/model/GenerateMergedTableRequest.h

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

+ 59 - 0
opensearch/include/alibabacloud/opensearch/model/GenerateMergedTableResult.h

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

+ 51 - 0
opensearch/include/alibabacloud/opensearch/model/ListDataSourceTableFieldsRequest.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_OPENSEARCH_MODEL_LISTDATASOURCETABLEFIELDSREQUEST_H_
+#define ALIBABACLOUD_OPENSEARCH_MODEL_LISTDATASOURCETABLEFIELDSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/opensearch/OpenSearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace OpenSearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_OPENSEARCH_EXPORT ListDataSourceTableFieldsRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListDataSourceTableFieldsRequest();
+				~ListDataSourceTableFieldsRequest();
+
+				std::string getDataSourceType()const;
+				void setDataSourceType(const std::string& dataSourceType);
+				std::string getParams()const;
+				void setParams(const std::string& params);
+
+            private:
+				std::string dataSourceType_;
+				std::string params_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_OPENSEARCH_MODEL_LISTDATASOURCETABLEFIELDSREQUEST_H_

+ 53 - 0
opensearch/include/alibabacloud/opensearch/model/ListDataSourceTableFieldsResult.h

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

+ 51 - 0
opensearch/include/alibabacloud/opensearch/model/ListDataSourceTablesRequest.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_OPENSEARCH_MODEL_LISTDATASOURCETABLESREQUEST_H_
+#define ALIBABACLOUD_OPENSEARCH_MODEL_LISTDATASOURCETABLESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/opensearch/OpenSearchExport.h>
+
+namespace AlibabaCloud
+{
+	namespace OpenSearch
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_OPENSEARCH_EXPORT ListDataSourceTablesRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListDataSourceTablesRequest();
+				~ListDataSourceTablesRequest();
+
+				std::string getDataSourceType()const;
+				void setDataSourceType(const std::string& dataSourceType);
+				std::string getParams()const;
+				void setParams(const std::string& params);
+
+            private:
+				std::string dataSourceType_;
+				std::string params_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_OPENSEARCH_MODEL_LISTDATASOURCETABLESREQUEST_H_

+ 53 - 0
opensearch/include/alibabacloud/opensearch/model/ListDataSourceTablesResult.h

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

+ 45 - 0
opensearch/include/alibabacloud/opensearch/model/ListRamRolesRequest.h

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

+ 60 - 0
opensearch/include/alibabacloud/opensearch/model/ListRamRolesResult.h

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

+ 144 - 0
opensearch/src/OpenSearchClient.cc

@@ -1563,6 +1563,42 @@ OpenSearchClient::EnableSlowQueryOutcomeCallable OpenSearchClient::enableSlowQue
 	return task->get_future();
 }
 
+OpenSearchClient::GenerateMergedTableOutcome OpenSearchClient::generateMergedTable(const GenerateMergedTableRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GenerateMergedTableOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GenerateMergedTableOutcome(GenerateMergedTableResult(outcome.result()));
+	else
+		return GenerateMergedTableOutcome(outcome.error());
+}
+
+void OpenSearchClient::generateMergedTableAsync(const GenerateMergedTableRequest& request, const GenerateMergedTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, generateMergedTable(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+OpenSearchClient::GenerateMergedTableOutcomeCallable OpenSearchClient::generateMergedTableCallable(const GenerateMergedTableRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GenerateMergedTableOutcome()>>(
+			[this, request]()
+			{
+			return this->generateMergedTable(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 OpenSearchClient::GetDomainOutcome OpenSearchClient::getDomain(const GetDomainRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2211,6 +2247,78 @@ OpenSearchClient::ListDataCollectionsOutcomeCallable OpenSearchClient::listDataC
 	return task->get_future();
 }
 
+OpenSearchClient::ListDataSourceTableFieldsOutcome OpenSearchClient::listDataSourceTableFields(const ListDataSourceTableFieldsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListDataSourceTableFieldsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListDataSourceTableFieldsOutcome(ListDataSourceTableFieldsResult(outcome.result()));
+	else
+		return ListDataSourceTableFieldsOutcome(outcome.error());
+}
+
+void OpenSearchClient::listDataSourceTableFieldsAsync(const ListDataSourceTableFieldsRequest& request, const ListDataSourceTableFieldsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listDataSourceTableFields(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+OpenSearchClient::ListDataSourceTableFieldsOutcomeCallable OpenSearchClient::listDataSourceTableFieldsCallable(const ListDataSourceTableFieldsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListDataSourceTableFieldsOutcome()>>(
+			[this, request]()
+			{
+			return this->listDataSourceTableFields(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+OpenSearchClient::ListDataSourceTablesOutcome OpenSearchClient::listDataSourceTables(const ListDataSourceTablesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListDataSourceTablesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListDataSourceTablesOutcome(ListDataSourceTablesResult(outcome.result()));
+	else
+		return ListDataSourceTablesOutcome(outcome.error());
+}
+
+void OpenSearchClient::listDataSourceTablesAsync(const ListDataSourceTablesRequest& request, const ListDataSourceTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listDataSourceTables(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+OpenSearchClient::ListDataSourceTablesOutcomeCallable OpenSearchClient::listDataSourceTablesCallable(const ListDataSourceTablesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListDataSourceTablesOutcome()>>(
+			[this, request]()
+			{
+			return this->listDataSourceTables(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 OpenSearchClient::ListDeployedAlgorithmModelsOutcome OpenSearchClient::listDeployedAlgorithmModels(const ListDeployedAlgorithmModelsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2535,6 +2643,42 @@ OpenSearchClient::ListQueryProcessorsOutcomeCallable OpenSearchClient::listQuery
 	return task->get_future();
 }
 
+OpenSearchClient::ListRamRolesOutcome OpenSearchClient::listRamRoles(const ListRamRolesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListRamRolesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListRamRolesOutcome(ListRamRolesResult(outcome.result()));
+	else
+		return ListRamRolesOutcome(outcome.error());
+}
+
+void OpenSearchClient::listRamRolesAsync(const ListRamRolesRequest& request, const ListRamRolesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listRamRoles(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+OpenSearchClient::ListRamRolesOutcomeCallable OpenSearchClient::listRamRolesCallable(const ListRamRolesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListRamRolesOutcome()>>(
+			[this, request]()
+			{
+			return this->listRamRoles(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 OpenSearchClient::ListScheduledTasksOutcome OpenSearchClient::listScheduledTasks(const ListScheduledTasksRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 41 - 0
opensearch/src/model/GenerateMergedTableRequest.cc

@@ -0,0 +1,41 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/opensearch/model/GenerateMergedTableRequest.h>
+
+using AlibabaCloud::OpenSearch::Model::GenerateMergedTableRequest;
+
+GenerateMergedTableRequest::GenerateMergedTableRequest() :
+	RoaServiceRequest("opensearch", "2017-12-25")
+{
+	setResourcePath("/v4/openapi/assist/schema/actions/merge");
+	setMethod(HttpRequest::Method::Post);
+}
+
+GenerateMergedTableRequest::~GenerateMergedTableRequest()
+{}
+
+std::string GenerateMergedTableRequest::getSpec()const
+{
+	return spec_;
+}
+
+void GenerateMergedTableRequest::setSpec(const std::string& spec)
+{
+	spec_ = spec;
+	setParameter("Spec", spec);
+}
+

+ 63 - 0
opensearch/src/model/GenerateMergedTableResult.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/opensearch/model/GenerateMergedTableResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::OpenSearch;
+using namespace AlibabaCloud::OpenSearch::Model;
+
+GenerateMergedTableResult::GenerateMergedTableResult() :
+	ServiceResult()
+{}
+
+GenerateMergedTableResult::GenerateMergedTableResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GenerateMergedTableResult::~GenerateMergedTableResult()
+{}
+
+void GenerateMergedTableResult::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["mergeTable"].isNull())
+		result_.mergeTable = resultNode["mergeTable"].asString();
+	if(!resultNode["fromTable"].isNull())
+		result_.fromTable = resultNode["fromTable"].asString();
+	if(!resultNode["primaryKey"].isNull())
+		result_.primaryKey = resultNode["primaryKey"].asString();
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+
+}
+
+std::string GenerateMergedTableResult::getRequestId()const
+{
+	return requestId_;
+}
+
+GenerateMergedTableResult::Result GenerateMergedTableResult::getResult()const
+{
+	return result_;
+}
+

+ 52 - 0
opensearch/src/model/ListDataSourceTableFieldsRequest.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/opensearch/model/ListDataSourceTableFieldsRequest.h>
+
+using AlibabaCloud::OpenSearch::Model::ListDataSourceTableFieldsRequest;
+
+ListDataSourceTableFieldsRequest::ListDataSourceTableFieldsRequest() :
+	RoaServiceRequest("opensearch", "2017-12-25")
+{
+	setResourcePath("/v4/openapi/assist/data-sources/[dataSourceType]/fields");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListDataSourceTableFieldsRequest::~ListDataSourceTableFieldsRequest()
+{}
+
+std::string ListDataSourceTableFieldsRequest::getDataSourceType()const
+{
+	return dataSourceType_;
+}
+
+void ListDataSourceTableFieldsRequest::setDataSourceType(const std::string& dataSourceType)
+{
+	dataSourceType_ = dataSourceType;
+	setParameter("DataSourceType", dataSourceType);
+}
+
+std::string ListDataSourceTableFieldsRequest::getParams()const
+{
+	return params_;
+}
+
+void ListDataSourceTableFieldsRequest::setParams(const std::string& params)
+{
+	params_ = params;
+	setParameter("Params", params);
+}
+

+ 58 - 0
opensearch/src/model/ListDataSourceTableFieldsResult.cc

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

+ 52 - 0
opensearch/src/model/ListDataSourceTablesRequest.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/opensearch/model/ListDataSourceTablesRequest.h>
+
+using AlibabaCloud::OpenSearch::Model::ListDataSourceTablesRequest;
+
+ListDataSourceTablesRequest::ListDataSourceTablesRequest() :
+	RoaServiceRequest("opensearch", "2017-12-25")
+{
+	setResourcePath("/v4/openapi/assist/data-sources/[dataSourceType]/tables");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListDataSourceTablesRequest::~ListDataSourceTablesRequest()
+{}
+
+std::string ListDataSourceTablesRequest::getDataSourceType()const
+{
+	return dataSourceType_;
+}
+
+void ListDataSourceTablesRequest::setDataSourceType(const std::string& dataSourceType)
+{
+	dataSourceType_ = dataSourceType;
+	setParameter("DataSourceType", dataSourceType);
+}
+
+std::string ListDataSourceTablesRequest::getParams()const
+{
+	return params_;
+}
+
+void ListDataSourceTablesRequest::setParams(const std::string& params)
+{
+	params_ = params;
+	setParameter("Params", params);
+}
+

+ 59 - 0
opensearch/src/model/ListDataSourceTablesResult.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/opensearch/model/ListDataSourceTablesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::OpenSearch;
+using namespace AlibabaCloud::OpenSearch::Model;
+
+ListDataSourceTablesResult::ListDataSourceTablesResult() :
+	ServiceResult()
+{}
+
+ListDataSourceTablesResult::ListDataSourceTablesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListDataSourceTablesResult::~ListDataSourceTablesResult()
+{}
+
+void ListDataSourceTablesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	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());
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+
+}
+
+std::string ListDataSourceTablesResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::vector<std::string> ListDataSourceTablesResult::getResult()const
+{
+	return result_;
+}
+

+ 30 - 0
opensearch/src/model/ListRamRolesRequest.cc

@@ -0,0 +1,30 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/opensearch/model/ListRamRolesRequest.h>
+
+using AlibabaCloud::OpenSearch::Model::ListRamRolesRequest;
+
+ListRamRolesRequest::ListRamRolesRequest() :
+	RoaServiceRequest("opensearch", "2017-12-25")
+{
+	setResourcePath("/v4/openapi/assist/ram/roles");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListRamRolesRequest::~ListRamRolesRequest()
+{}
+

+ 70 - 0
opensearch/src/model/ListRamRolesResult.cc

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/opensearch/model/ListRamRolesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::OpenSearch;
+using namespace AlibabaCloud::OpenSearch::Model;
+
+ListRamRolesResult::ListRamRolesResult() :
+	ServiceResult()
+{}
+
+ListRamRolesResult::ListRamRolesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListRamRolesResult::~ListRamRolesResult()
+{}
+
+void ListRamRolesResult::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["service"].isNull())
+			resultObject.service = valueresultresultItem["service"].asString();
+		if(!valueresultresultItem["template_id"].isNull())
+			resultObject.template_id = valueresultresultItem["template_id"].asString();
+		if(!valueresultresultItem["assumed"].isNull())
+			resultObject.assumed = valueresultresultItem["assumed"].asString() == "true";
+		result_.push_back(resultObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+
+}
+
+std::vector<ListRamRolesResult::ResultItem> ListRamRolesResult::getresult()const
+{
+	return result_;
+}
+
+std::string ListRamRolesResult::getRequestId()const
+{
+	return requestId_;
+}
+