sdk-team 6 ani în urmă
părinte
comite
b5434b7d6d
70 a modificat fișierele cu 5091 adăugiri și 1 ștergeri
  1. 7 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 146 0
      amqp-open/CMakeLists.txt
  4. 174 0
      amqp-open/include/alibabacloud/amqp-open/Amqp_openClient.h
  5. 32 0
      amqp-open/include/alibabacloud/amqp-open/Amqp_openExport.h
  6. 66 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateBindingRequest.h
  7. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateBindingResult.h
  8. 66 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateExchangeRequest.h
  9. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateExchangeResult.h
  10. 78 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateQueueRequest.h
  11. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateQueueResult.h
  12. 51 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateVirtualHostRequest.h
  13. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/CreateVirtualHostResult.h
  14. 63 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteBindingRequest.h
  15. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteBindingResult.h
  16. 54 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteExchangeRequest.h
  17. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteExchangeResult.h
  18. 54 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteQueueRequest.h
  19. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteQueueResult.h
  20. 51 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteVirtualHostRequest.h
  21. 49 0
      amqp-open/include/alibabacloud/amqp-open/model/DeleteVirtualHostResult.h
  22. 57 0
      amqp-open/include/alibabacloud/amqp-open/model/ListBindingsRequest.h
  23. 65 0
      amqp-open/include/alibabacloud/amqp-open/model/ListBindingsResult.h
  24. 60 0
      amqp-open/include/alibabacloud/amqp-open/model/ListDownStreamBindingsRequest.h
  25. 71 0
      amqp-open/include/alibabacloud/amqp-open/model/ListDownStreamBindingsResult.h
  26. 60 0
      amqp-open/include/alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsRequest.h
  27. 71 0
      amqp-open/include/alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsResult.h
  28. 57 0
      amqp-open/include/alibabacloud/amqp-open/model/ListExchangesRequest.h
  29. 66 0
      amqp-open/include/alibabacloud/amqp-open/model/ListExchangesResult.h
  30. 51 0
      amqp-open/include/alibabacloud/amqp-open/model/ListInstancesRequest.h
  31. 71 0
      amqp-open/include/alibabacloud/amqp-open/model/ListInstancesResult.h
  32. 60 0
      amqp-open/include/alibabacloud/amqp-open/model/ListQueueUpStreamBindingsRequest.h
  33. 65 0
      amqp-open/include/alibabacloud/amqp-open/model/ListQueueUpStreamBindingsResult.h
  34. 57 0
      amqp-open/include/alibabacloud/amqp-open/model/ListQueuesRequest.h
  35. 68 0
      amqp-open/include/alibabacloud/amqp-open/model/ListQueuesResult.h
  36. 54 0
      amqp-open/include/alibabacloud/amqp-open/model/ListVirtualHostsRequest.h
  37. 61 0
      amqp-open/include/alibabacloud/amqp-open/model/ListVirtualHostsResult.h
  38. 629 0
      amqp-open/src/Amqp-openClient.cc
  39. 106 0
      amqp-open/src/model/CreateBindingRequest.cc
  40. 44 0
      amqp-open/src/model/CreateBindingResult.cc
  41. 106 0
      amqp-open/src/model/CreateExchangeRequest.cc
  42. 44 0
      amqp-open/src/model/CreateExchangeResult.cc
  43. 150 0
      amqp-open/src/model/CreateQueueRequest.cc
  44. 44 0
      amqp-open/src/model/CreateQueueResult.cc
  45. 51 0
      amqp-open/src/model/CreateVirtualHostRequest.cc
  46. 44 0
      amqp-open/src/model/CreateVirtualHostResult.cc
  47. 95 0
      amqp-open/src/model/DeleteBindingRequest.cc
  48. 44 0
      amqp-open/src/model/DeleteBindingResult.cc
  49. 62 0
      amqp-open/src/model/DeleteExchangeRequest.cc
  50. 44 0
      amqp-open/src/model/DeleteExchangeResult.cc
  51. 62 0
      amqp-open/src/model/DeleteQueueRequest.cc
  52. 44 0
      amqp-open/src/model/DeleteQueueResult.cc
  53. 51 0
      amqp-open/src/model/DeleteVirtualHostRequest.cc
  54. 44 0
      amqp-open/src/model/DeleteVirtualHostResult.cc
  55. 73 0
      amqp-open/src/model/ListBindingsRequest.cc
  56. 70 0
      amqp-open/src/model/ListBindingsResult.cc
  57. 84 0
      amqp-open/src/model/ListDownStreamBindingsRequest.cc
  58. 91 0
      amqp-open/src/model/ListDownStreamBindingsResult.cc
  59. 84 0
      amqp-open/src/model/ListExchangeUpStreamBindingsRequest.cc
  60. 91 0
      amqp-open/src/model/ListExchangeUpStreamBindingsResult.cc
  61. 73 0
      amqp-open/src/model/ListExchangesRequest.cc
  62. 72 0
      amqp-open/src/model/ListExchangesResult.cc
  63. 51 0
      amqp-open/src/model/ListInstancesRequest.cc
  64. 82 0
      amqp-open/src/model/ListInstancesResult.cc
  65. 84 0
      amqp-open/src/model/ListQueueUpStreamBindingsRequest.cc
  66. 70 0
      amqp-open/src/model/ListQueueUpStreamBindingsResult.cc
  67. 73 0
      amqp-open/src/model/ListQueuesRequest.cc
  68. 76 0
      amqp-open/src/model/ListQueuesResult.cc
  69. 62 0
      amqp-open/src/model/ListVirtualHostsRequest.cc
  70. 62 0
      amqp-open/src/model/ListVirtualHostsResult.cc

+ 7 - 0
CHANGELOG

@@ -1,3 +1,10 @@
+2020-03-16 Version: 1.36.320
+- Release.
+- Add virtual host modification API.
+- Add exchange modification API.
+- Add queue modification API.
+- Add binding modification API.
+
 2020-03-16 Version: 1.36.319
 - Add ImageFamily paramters and apis, in Instance creation apis and Image query apis, and add DescribeImageFromFamily.
 - Add Instance batch operation apis RebootInstances StartInstances and StopInstances.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.319
+1.36.320

+ 146 - 0
amqp-open/CMakeLists.txt

@@ -0,0 +1,146 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(amqp-open_public_header 
+	include/alibabacloud/amqp-open/Amqp_openClient.h
+	include/alibabacloud/amqp-open/Amqp_openExport.h )
+
+set(amqp-open_public_header_model 
+	include/alibabacloud/amqp-open/model/CreateBindingRequest.h
+	include/alibabacloud/amqp-open/model/CreateBindingResult.h
+	include/alibabacloud/amqp-open/model/CreateExchangeRequest.h
+	include/alibabacloud/amqp-open/model/CreateExchangeResult.h
+	include/alibabacloud/amqp-open/model/CreateQueueRequest.h
+	include/alibabacloud/amqp-open/model/CreateQueueResult.h
+	include/alibabacloud/amqp-open/model/CreateVirtualHostRequest.h
+	include/alibabacloud/amqp-open/model/CreateVirtualHostResult.h
+	include/alibabacloud/amqp-open/model/DeleteBindingRequest.h
+	include/alibabacloud/amqp-open/model/DeleteBindingResult.h
+	include/alibabacloud/amqp-open/model/DeleteExchangeRequest.h
+	include/alibabacloud/amqp-open/model/DeleteExchangeResult.h
+	include/alibabacloud/amqp-open/model/DeleteQueueRequest.h
+	include/alibabacloud/amqp-open/model/DeleteQueueResult.h
+	include/alibabacloud/amqp-open/model/DeleteVirtualHostRequest.h
+	include/alibabacloud/amqp-open/model/DeleteVirtualHostResult.h
+	include/alibabacloud/amqp-open/model/ListBindingsRequest.h
+	include/alibabacloud/amqp-open/model/ListBindingsResult.h
+	include/alibabacloud/amqp-open/model/ListDownStreamBindingsRequest.h
+	include/alibabacloud/amqp-open/model/ListDownStreamBindingsResult.h
+	include/alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsRequest.h
+	include/alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsResult.h
+	include/alibabacloud/amqp-open/model/ListExchangesRequest.h
+	include/alibabacloud/amqp-open/model/ListExchangesResult.h
+	include/alibabacloud/amqp-open/model/ListInstancesRequest.h
+	include/alibabacloud/amqp-open/model/ListInstancesResult.h
+	include/alibabacloud/amqp-open/model/ListQueueUpStreamBindingsRequest.h
+	include/alibabacloud/amqp-open/model/ListQueueUpStreamBindingsResult.h
+	include/alibabacloud/amqp-open/model/ListQueuesRequest.h
+	include/alibabacloud/amqp-open/model/ListQueuesResult.h
+	include/alibabacloud/amqp-open/model/ListVirtualHostsRequest.h
+	include/alibabacloud/amqp-open/model/ListVirtualHostsResult.h )
+
+set(amqp-open_src 
+	src/Amqp-openClient.cc
+	src/model/CreateBindingRequest.cc
+	src/model/CreateBindingResult.cc
+	src/model/CreateExchangeRequest.cc
+	src/model/CreateExchangeResult.cc
+	src/model/CreateQueueRequest.cc
+	src/model/CreateQueueResult.cc
+	src/model/CreateVirtualHostRequest.cc
+	src/model/CreateVirtualHostResult.cc
+	src/model/DeleteBindingRequest.cc
+	src/model/DeleteBindingResult.cc
+	src/model/DeleteExchangeRequest.cc
+	src/model/DeleteExchangeResult.cc
+	src/model/DeleteQueueRequest.cc
+	src/model/DeleteQueueResult.cc
+	src/model/DeleteVirtualHostRequest.cc
+	src/model/DeleteVirtualHostResult.cc
+	src/model/ListBindingsRequest.cc
+	src/model/ListBindingsResult.cc
+	src/model/ListDownStreamBindingsRequest.cc
+	src/model/ListDownStreamBindingsResult.cc
+	src/model/ListExchangeUpStreamBindingsRequest.cc
+	src/model/ListExchangeUpStreamBindingsResult.cc
+	src/model/ListExchangesRequest.cc
+	src/model/ListExchangesResult.cc
+	src/model/ListInstancesRequest.cc
+	src/model/ListInstancesResult.cc
+	src/model/ListQueueUpStreamBindingsRequest.cc
+	src/model/ListQueueUpStreamBindingsResult.cc
+	src/model/ListQueuesRequest.cc
+	src/model/ListQueuesResult.cc
+	src/model/ListVirtualHostsRequest.cc
+	src/model/ListVirtualHostsResult.cc )
+
+add_library(amqp-open ${LIB_TYPE}
+	${amqp-open_public_header}
+	${amqp-open_public_header_model}
+	${amqp-open_src})
+
+set_target_properties(amqp-open
+	PROPERTIES
+	LINKER_LANGUAGE CXX
+	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}amqp-open
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(amqp-open
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_AMQP_OPEN_LIBRARY)
+endif()
+
+target_include_directories(amqp-open
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(amqp-open
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(amqp-open
+		jsoncpp)
+	target_include_directories(amqp-open
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(amqp-open
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(amqp-open
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(amqp-open
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(amqp-open
+		jsoncpp)
+endif()
+
+install(FILES ${amqp-open_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/amqp-open)
+install(FILES ${amqp-open_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/amqp-open/model)
+install(TARGETS amqp-open
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 174 - 0
amqp-open/include/alibabacloud/amqp-open/Amqp_openClient.h

@@ -0,0 +1,174 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_AMQP_OPENCLIENT_H_
+#define ALIBABACLOUD_AMQP_OPEN_AMQP_OPENCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "Amqp_openExport.h"
+#include "model/CreateBindingRequest.h"
+#include "model/CreateBindingResult.h"
+#include "model/CreateExchangeRequest.h"
+#include "model/CreateExchangeResult.h"
+#include "model/CreateQueueRequest.h"
+#include "model/CreateQueueResult.h"
+#include "model/CreateVirtualHostRequest.h"
+#include "model/CreateVirtualHostResult.h"
+#include "model/DeleteBindingRequest.h"
+#include "model/DeleteBindingResult.h"
+#include "model/DeleteExchangeRequest.h"
+#include "model/DeleteExchangeResult.h"
+#include "model/DeleteQueueRequest.h"
+#include "model/DeleteQueueResult.h"
+#include "model/DeleteVirtualHostRequest.h"
+#include "model/DeleteVirtualHostResult.h"
+#include "model/ListBindingsRequest.h"
+#include "model/ListBindingsResult.h"
+#include "model/ListDownStreamBindingsRequest.h"
+#include "model/ListDownStreamBindingsResult.h"
+#include "model/ListExchangeUpStreamBindingsRequest.h"
+#include "model/ListExchangeUpStreamBindingsResult.h"
+#include "model/ListExchangesRequest.h"
+#include "model/ListExchangesResult.h"
+#include "model/ListInstancesRequest.h"
+#include "model/ListInstancesResult.h"
+#include "model/ListQueueUpStreamBindingsRequest.h"
+#include "model/ListQueueUpStreamBindingsResult.h"
+#include "model/ListQueuesRequest.h"
+#include "model/ListQueuesResult.h"
+#include "model/ListVirtualHostsRequest.h"
+#include "model/ListVirtualHostsResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		class ALIBABACLOUD_AMQP_OPEN_EXPORT Amqp_openClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::CreateBindingResult> CreateBindingOutcome;
+			typedef std::future<CreateBindingOutcome> CreateBindingOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::CreateBindingRequest&, const CreateBindingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateBindingAsyncHandler;
+			typedef Outcome<Error, Model::CreateExchangeResult> CreateExchangeOutcome;
+			typedef std::future<CreateExchangeOutcome> CreateExchangeOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::CreateExchangeRequest&, const CreateExchangeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateExchangeAsyncHandler;
+			typedef Outcome<Error, Model::CreateQueueResult> CreateQueueOutcome;
+			typedef std::future<CreateQueueOutcome> CreateQueueOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::CreateQueueRequest&, const CreateQueueOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateQueueAsyncHandler;
+			typedef Outcome<Error, Model::CreateVirtualHostResult> CreateVirtualHostOutcome;
+			typedef std::future<CreateVirtualHostOutcome> CreateVirtualHostOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::CreateVirtualHostRequest&, const CreateVirtualHostOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateVirtualHostAsyncHandler;
+			typedef Outcome<Error, Model::DeleteBindingResult> DeleteBindingOutcome;
+			typedef std::future<DeleteBindingOutcome> DeleteBindingOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::DeleteBindingRequest&, const DeleteBindingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteBindingAsyncHandler;
+			typedef Outcome<Error, Model::DeleteExchangeResult> DeleteExchangeOutcome;
+			typedef std::future<DeleteExchangeOutcome> DeleteExchangeOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::DeleteExchangeRequest&, const DeleteExchangeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteExchangeAsyncHandler;
+			typedef Outcome<Error, Model::DeleteQueueResult> DeleteQueueOutcome;
+			typedef std::future<DeleteQueueOutcome> DeleteQueueOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::DeleteQueueRequest&, const DeleteQueueOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteQueueAsyncHandler;
+			typedef Outcome<Error, Model::DeleteVirtualHostResult> DeleteVirtualHostOutcome;
+			typedef std::future<DeleteVirtualHostOutcome> DeleteVirtualHostOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::DeleteVirtualHostRequest&, const DeleteVirtualHostOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteVirtualHostAsyncHandler;
+			typedef Outcome<Error, Model::ListBindingsResult> ListBindingsOutcome;
+			typedef std::future<ListBindingsOutcome> ListBindingsOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListBindingsRequest&, const ListBindingsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListBindingsAsyncHandler;
+			typedef Outcome<Error, Model::ListDownStreamBindingsResult> ListDownStreamBindingsOutcome;
+			typedef std::future<ListDownStreamBindingsOutcome> ListDownStreamBindingsOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListDownStreamBindingsRequest&, const ListDownStreamBindingsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDownStreamBindingsAsyncHandler;
+			typedef Outcome<Error, Model::ListExchangeUpStreamBindingsResult> ListExchangeUpStreamBindingsOutcome;
+			typedef std::future<ListExchangeUpStreamBindingsOutcome> ListExchangeUpStreamBindingsOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListExchangeUpStreamBindingsRequest&, const ListExchangeUpStreamBindingsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListExchangeUpStreamBindingsAsyncHandler;
+			typedef Outcome<Error, Model::ListExchangesResult> ListExchangesOutcome;
+			typedef std::future<ListExchangesOutcome> ListExchangesOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListExchangesRequest&, const ListExchangesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListExchangesAsyncHandler;
+			typedef Outcome<Error, Model::ListInstancesResult> ListInstancesOutcome;
+			typedef std::future<ListInstancesOutcome> ListInstancesOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListInstancesRequest&, const ListInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInstancesAsyncHandler;
+			typedef Outcome<Error, Model::ListQueueUpStreamBindingsResult> ListQueueUpStreamBindingsOutcome;
+			typedef std::future<ListQueueUpStreamBindingsOutcome> ListQueueUpStreamBindingsOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListQueueUpStreamBindingsRequest&, const ListQueueUpStreamBindingsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListQueueUpStreamBindingsAsyncHandler;
+			typedef Outcome<Error, Model::ListQueuesResult> ListQueuesOutcome;
+			typedef std::future<ListQueuesOutcome> ListQueuesOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListQueuesRequest&, const ListQueuesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListQueuesAsyncHandler;
+			typedef Outcome<Error, Model::ListVirtualHostsResult> ListVirtualHostsOutcome;
+			typedef std::future<ListVirtualHostsOutcome> ListVirtualHostsOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::ListVirtualHostsRequest&, const ListVirtualHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListVirtualHostsAsyncHandler;
+
+			Amqp_openClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			Amqp_openClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			Amqp_openClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~Amqp_openClient();
+			CreateBindingOutcome createBinding(const Model::CreateBindingRequest &request)const;
+			void createBindingAsync(const Model::CreateBindingRequest& request, const CreateBindingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateBindingOutcomeCallable createBindingCallable(const Model::CreateBindingRequest& request) const;
+			CreateExchangeOutcome createExchange(const Model::CreateExchangeRequest &request)const;
+			void createExchangeAsync(const Model::CreateExchangeRequest& request, const CreateExchangeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateExchangeOutcomeCallable createExchangeCallable(const Model::CreateExchangeRequest& request) const;
+			CreateQueueOutcome createQueue(const Model::CreateQueueRequest &request)const;
+			void createQueueAsync(const Model::CreateQueueRequest& request, const CreateQueueAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateQueueOutcomeCallable createQueueCallable(const Model::CreateQueueRequest& request) const;
+			CreateVirtualHostOutcome createVirtualHost(const Model::CreateVirtualHostRequest &request)const;
+			void createVirtualHostAsync(const Model::CreateVirtualHostRequest& request, const CreateVirtualHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateVirtualHostOutcomeCallable createVirtualHostCallable(const Model::CreateVirtualHostRequest& request) const;
+			DeleteBindingOutcome deleteBinding(const Model::DeleteBindingRequest &request)const;
+			void deleteBindingAsync(const Model::DeleteBindingRequest& request, const DeleteBindingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteBindingOutcomeCallable deleteBindingCallable(const Model::DeleteBindingRequest& request) const;
+			DeleteExchangeOutcome deleteExchange(const Model::DeleteExchangeRequest &request)const;
+			void deleteExchangeAsync(const Model::DeleteExchangeRequest& request, const DeleteExchangeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteExchangeOutcomeCallable deleteExchangeCallable(const Model::DeleteExchangeRequest& request) const;
+			DeleteQueueOutcome deleteQueue(const Model::DeleteQueueRequest &request)const;
+			void deleteQueueAsync(const Model::DeleteQueueRequest& request, const DeleteQueueAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteQueueOutcomeCallable deleteQueueCallable(const Model::DeleteQueueRequest& request) const;
+			DeleteVirtualHostOutcome deleteVirtualHost(const Model::DeleteVirtualHostRequest &request)const;
+			void deleteVirtualHostAsync(const Model::DeleteVirtualHostRequest& request, const DeleteVirtualHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteVirtualHostOutcomeCallable deleteVirtualHostCallable(const Model::DeleteVirtualHostRequest& request) const;
+			ListBindingsOutcome listBindings(const Model::ListBindingsRequest &request)const;
+			void listBindingsAsync(const Model::ListBindingsRequest& request, const ListBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListBindingsOutcomeCallable listBindingsCallable(const Model::ListBindingsRequest& request) const;
+			ListDownStreamBindingsOutcome listDownStreamBindings(const Model::ListDownStreamBindingsRequest &request)const;
+			void listDownStreamBindingsAsync(const Model::ListDownStreamBindingsRequest& request, const ListDownStreamBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDownStreamBindingsOutcomeCallable listDownStreamBindingsCallable(const Model::ListDownStreamBindingsRequest& request) const;
+			ListExchangeUpStreamBindingsOutcome listExchangeUpStreamBindings(const Model::ListExchangeUpStreamBindingsRequest &request)const;
+			void listExchangeUpStreamBindingsAsync(const Model::ListExchangeUpStreamBindingsRequest& request, const ListExchangeUpStreamBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListExchangeUpStreamBindingsOutcomeCallable listExchangeUpStreamBindingsCallable(const Model::ListExchangeUpStreamBindingsRequest& request) const;
+			ListExchangesOutcome listExchanges(const Model::ListExchangesRequest &request)const;
+			void listExchangesAsync(const Model::ListExchangesRequest& request, const ListExchangesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListExchangesOutcomeCallable listExchangesCallable(const Model::ListExchangesRequest& request) const;
+			ListInstancesOutcome listInstances(const Model::ListInstancesRequest &request)const;
+			void listInstancesAsync(const Model::ListInstancesRequest& request, const ListInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListInstancesOutcomeCallable listInstancesCallable(const Model::ListInstancesRequest& request) const;
+			ListQueueUpStreamBindingsOutcome listQueueUpStreamBindings(const Model::ListQueueUpStreamBindingsRequest &request)const;
+			void listQueueUpStreamBindingsAsync(const Model::ListQueueUpStreamBindingsRequest& request, const ListQueueUpStreamBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListQueueUpStreamBindingsOutcomeCallable listQueueUpStreamBindingsCallable(const Model::ListQueueUpStreamBindingsRequest& request) const;
+			ListQueuesOutcome listQueues(const Model::ListQueuesRequest &request)const;
+			void listQueuesAsync(const Model::ListQueuesRequest& request, const ListQueuesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListQueuesOutcomeCallable listQueuesCallable(const Model::ListQueuesRequest& request) const;
+			ListVirtualHostsOutcome listVirtualHosts(const Model::ListVirtualHostsRequest &request)const;
+			void listVirtualHostsAsync(const Model::ListVirtualHostsRequest& request, const ListVirtualHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListVirtualHostsOutcomeCallable listVirtualHostsCallable(const Model::ListVirtualHostsRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_AMQP_OPEN_AMQP_OPENCLIENT_H_

+ 32 - 0
amqp-open/include/alibabacloud/amqp-open/Amqp_openExport.h

@@ -0,0 +1,32 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_AMQP_OPENEXPORT_H_
+#define ALIBABACLOUD_AMQP_OPEN_AMQP_OPENEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_AMQP_OPEN_LIBRARY)
+#		define ALIBABACLOUD_AMQP_OPEN_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_AMQP_OPEN_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_AMQP_OPEN_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_AMQP_OPEN_AMQP_OPENEXPORT_H_

+ 66 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateBindingRequest.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_AMQP_OPEN_MODEL_CREATEBINDINGREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEBINDINGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT CreateBindingRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateBindingRequest();
+				~CreateBindingRequest();
+
+				std::string getArgument()const;
+				void setArgument(const std::string& argument);
+				std::string getDestinationName()const;
+				void setDestinationName(const std::string& destinationName);
+				std::string getSourceExchange()const;
+				void setSourceExchange(const std::string& sourceExchange);
+				std::string getBindingKey()const;
+				void setBindingKey(const std::string& bindingKey);
+				std::string getBindingType()const;
+				void setBindingType(const std::string& bindingType);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string argument_;
+				std::string destinationName_;
+				std::string sourceExchange_;
+				std::string bindingKey_;
+				std::string bindingType_;
+				std::string instanceId_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEBINDINGREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateBindingResult.h

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

+ 66 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateExchangeRequest.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_AMQP_OPEN_MODEL_CREATEEXCHANGEREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEEXCHANGEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT CreateExchangeRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateExchangeRequest();
+				~CreateExchangeRequest();
+
+				bool getInternal()const;
+				void setInternal(bool internal);
+				std::string getExchangeName()const;
+				void setExchangeName(const std::string& exchangeName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getAlternateExchange()const;
+				void setAlternateExchange(const std::string& alternateExchange);
+				bool getAutoDeleteState()const;
+				void setAutoDeleteState(bool autoDeleteState);
+				std::string getExchangeType()const;
+				void setExchangeType(const std::string& exchangeType);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				bool internal_;
+				std::string exchangeName_;
+				std::string instanceId_;
+				std::string alternateExchange_;
+				bool autoDeleteState_;
+				std::string exchangeType_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEEXCHANGEREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateExchangeResult.h

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

+ 78 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateQueueRequest.h

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEQUEUEREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEQUEUEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT CreateQueueRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateQueueRequest();
+				~CreateQueueRequest();
+
+				std::string getQueueName()const;
+				void setQueueName(const std::string& queueName);
+				std::string getDeadLetterRoutingKey()const;
+				void setDeadLetterRoutingKey(const std::string& deadLetterRoutingKey);
+				long getMaxLength()const;
+				void setMaxLength(long maxLength);
+				long getAutoExpireState()const;
+				void setAutoExpireState(long autoExpireState);
+				std::string getDeadLetterExchange()const;
+				void setDeadLetterExchange(const std::string& deadLetterExchange);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				bool getExclusiveState()const;
+				void setExclusiveState(bool exclusiveState);
+				bool getAutoDeleteState()const;
+				void setAutoDeleteState(bool autoDeleteState);
+				long getMessageTTL()const;
+				void setMessageTTL(long messageTTL);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+				int getMaximumPriority()const;
+				void setMaximumPriority(int maximumPriority);
+
+            private:
+				std::string queueName_;
+				std::string deadLetterRoutingKey_;
+				long maxLength_;
+				long autoExpireState_;
+				std::string deadLetterExchange_;
+				std::string instanceId_;
+				bool exclusiveState_;
+				bool autoDeleteState_;
+				long messageTTL_;
+				std::string virtualHost_;
+				int maximumPriority_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEQUEUEREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateQueueResult.h

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

+ 51 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateVirtualHostRequest.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_AMQP_OPEN_MODEL_CREATEVIRTUALHOSTREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEVIRTUALHOSTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT CreateVirtualHostRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateVirtualHostRequest();
+				~CreateVirtualHostRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string instanceId_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_CREATEVIRTUALHOSTREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateVirtualHostResult.h

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

+ 63 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteBindingRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEBINDINGREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEBINDINGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT DeleteBindingRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteBindingRequest();
+				~DeleteBindingRequest();
+
+				std::string getDestinationName()const;
+				void setDestinationName(const std::string& destinationName);
+				std::string getSourceExchange()const;
+				void setSourceExchange(const std::string& sourceExchange);
+				std::string getBindingKey()const;
+				void setBindingKey(const std::string& bindingKey);
+				std::string getBindingType()const;
+				void setBindingType(const std::string& bindingType);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string destinationName_;
+				std::string sourceExchange_;
+				std::string bindingKey_;
+				std::string bindingType_;
+				std::string instanceId_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEBINDINGREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteBindingResult.h

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

+ 54 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteExchangeRequest.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_AMQP_OPEN_MODEL_DELETEEXCHANGEREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEEXCHANGEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT DeleteExchangeRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteExchangeRequest();
+				~DeleteExchangeRequest();
+
+				std::string getExchangeName()const;
+				void setExchangeName(const std::string& exchangeName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string exchangeName_;
+				std::string instanceId_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEEXCHANGEREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteExchangeResult.h

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

+ 54 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteQueueRequest.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_AMQP_OPEN_MODEL_DELETEQUEUEREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEQUEUEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT DeleteQueueRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteQueueRequest();
+				~DeleteQueueRequest();
+
+				std::string getQueueName()const;
+				void setQueueName(const std::string& queueName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string queueName_;
+				std::string instanceId_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEQUEUEREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteQueueResult.h

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

+ 51 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteVirtualHostRequest.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_AMQP_OPEN_MODEL_DELETEVIRTUALHOSTREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEVIRTUALHOSTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT DeleteVirtualHostRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteVirtualHostRequest();
+				~DeleteVirtualHostRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string instanceId_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_DELETEVIRTUALHOSTREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/DeleteVirtualHostResult.h

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

+ 57 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListBindingsRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTBINDINGSREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTBINDINGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListBindingsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListBindingsRequest();
+				~ListBindingsRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTBINDINGSREQUEST_H_

+ 65 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListBindingsResult.h

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTBINDINGSRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTBINDINGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListBindingsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct BindingDO
+					{
+						std::string sourceExchange;
+						std::string argument;
+						std::string bindingType;
+						std::string bindingKey;
+						std::string destinationName;
+					};
+					std::string nextToken;
+					int maxResults;
+					std::vector<BindingDO> bindings;
+				};
+
+
+				ListBindingsResult();
+				explicit ListBindingsResult(const std::string &payload);
+				~ListBindingsResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTBINDINGSRESULT_H_

+ 60 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListDownStreamBindingsRequest.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_AMQP_OPEN_MODEL_LISTDOWNSTREAMBINDINGSREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTDOWNSTREAMBINDINGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListDownStreamBindingsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListDownStreamBindingsRequest();
+				~ListDownStreamBindingsRequest();
+
+				std::string getExchangeName()const;
+				void setExchangeName(const std::string& exchangeName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string exchangeName_;
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTDOWNSTREAMBINDINGSREQUEST_H_

+ 71 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListDownStreamBindingsResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTDOWNSTREAMBINDINGSRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTDOWNSTREAMBINDINGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListDownStreamBindingsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct BindingVO
+					{
+						std::string sourceExchange;
+						std::string argument;
+						std::string bindingType;
+						std::string bindingKey;
+						std::string destinationName;
+					};
+					std::string nextToken;
+					int maxResults;
+					std::vector<BindingVO> bindings;
+				};
+
+
+				ListDownStreamBindingsResult();
+				explicit ListDownStreamBindingsResult(const std::string &payload);
+				~ListDownStreamBindingsResult();
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				int code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTDOWNSTREAMBINDINGSRESULT_H_

+ 60 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsRequest.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_AMQP_OPEN_MODEL_LISTEXCHANGEUPSTREAMBINDINGSREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGEUPSTREAMBINDINGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListExchangeUpStreamBindingsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListExchangeUpStreamBindingsRequest();
+				~ListExchangeUpStreamBindingsRequest();
+
+				std::string getExchangeName()const;
+				void setExchangeName(const std::string& exchangeName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string exchangeName_;
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGEUPSTREAMBINDINGSREQUEST_H_

+ 71 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGEUPSTREAMBINDINGSRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGEUPSTREAMBINDINGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListExchangeUpStreamBindingsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct BindingVO
+					{
+						std::string sourceExchange;
+						std::string argument;
+						std::string bindingType;
+						std::string bindingKey;
+						std::string destinationName;
+					};
+					std::string nextToken;
+					int maxResults;
+					std::vector<BindingVO> bindings;
+				};
+
+
+				ListExchangeUpStreamBindingsResult();
+				explicit ListExchangeUpStreamBindingsResult(const std::string &payload);
+				~ListExchangeUpStreamBindingsResult();
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				int code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGEUPSTREAMBINDINGSRESULT_H_

+ 57 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListExchangesRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGESREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListExchangesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListExchangesRequest();
+				~ListExchangesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGESREQUEST_H_

+ 66 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListExchangesResult.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_AMQP_OPEN_MODEL_LISTEXCHANGESRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListExchangesResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ExchangeVO
+					{
+						std::string vHostName;
+						long createTime;
+						std::string attributes;
+						bool autoDeleteState;
+						std::string exchangeType;
+						std::string name;
+					};
+					std::string nextToken;
+					int maxResults;
+					std::vector<ExchangeVO> exchanges;
+				};
+
+
+				ListExchangesResult();
+				explicit ListExchangesResult(const std::string &payload);
+				~ListExchangesResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTEXCHANGESRESULT_H_

+ 51 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListInstancesRequest.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_AMQP_OPEN_MODEL_LISTINSTANCESREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTINSTANCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListInstancesRequest();
+				~ListInstancesRequest();
+
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+
+            private:
+				std::string nextToken_;
+				int maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTINSTANCESREQUEST_H_

+ 71 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListInstancesResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTINSTANCESRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTINSTANCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListInstancesResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct InstanceVO
+					{
+						std::string instanceName;
+						std::string status;
+						std::string orderType;
+						long orderCreateTime;
+						std::string instanceId;
+						bool supportEIP;
+						std::string publicEndpoint;
+						std::string instanceType;
+						long expireTime;
+						bool autoRenewInstance;
+						std::string privateEndpoint;
+					};
+					std::vector<InstanceVO> instances;
+					std::string nextToken;
+					int maxResults;
+				};
+
+
+				ListInstancesResult();
+				explicit ListInstancesResult(const std::string &payload);
+				~ListInstancesResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTINSTANCESRESULT_H_

+ 60 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListQueueUpStreamBindingsRequest.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_AMQP_OPEN_MODEL_LISTQUEUEUPSTREAMBINDINGSREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUEUPSTREAMBINDINGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListQueueUpStreamBindingsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListQueueUpStreamBindingsRequest();
+				~ListQueueUpStreamBindingsRequest();
+
+				std::string getQueueName()const;
+				void setQueueName(const std::string& queueName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string queueName_;
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUEUPSTREAMBINDINGSREQUEST_H_

+ 65 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListQueueUpStreamBindingsResult.h

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUEUPSTREAMBINDINGSRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUEUPSTREAMBINDINGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListQueueUpStreamBindingsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct BindingVO
+					{
+						std::string sourceExchange;
+						std::string argument;
+						std::string bindingType;
+						std::string bindingKey;
+						std::string destinationName;
+					};
+					std::string nextToken;
+					std::string maxResults;
+					std::vector<BindingVO> bindings;
+				};
+
+
+				ListQueueUpStreamBindingsResult();
+				explicit ListQueueUpStreamBindingsResult(const std::string &payload);
+				~ListQueueUpStreamBindingsResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUEUPSTREAMBINDINGSRESULT_H_

+ 57 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListQueuesRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUESREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListQueuesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListQueuesRequest();
+				~ListQueuesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getVirtualHost()const;
+				void setVirtualHost(const std::string& virtualHost);
+
+            private:
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+				std::string virtualHost_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUESREQUEST_H_

+ 68 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListQueuesResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUESRESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListQueuesResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct QueueVO
+					{
+						std::string vHostName;
+						std::string ownerId;
+						long createTime;
+						bool exclusiveState;
+						std::string attributes;
+						long lastConsumeTime;
+						bool autoDeleteState;
+						std::string name;
+					};
+					std::string nextToken;
+					int maxResults;
+					std::vector<QueueVO> queues;
+				};
+
+
+				ListQueuesResult();
+				explicit ListQueuesResult(const std::string &payload);
+				~ListQueuesResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTQUEUESRESULT_H_

+ 54 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListVirtualHostsRequest.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_AMQP_OPEN_MODEL_LISTVIRTUALHOSTSREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_LISTVIRTUALHOSTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT ListVirtualHostsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListVirtualHostsRequest();
+				~ListVirtualHostsRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+
+            private:
+				std::string instanceId_;
+				std::string nextToken_;
+				int maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_LISTVIRTUALHOSTSREQUEST_H_

+ 61 - 0
amqp-open/include/alibabacloud/amqp-open/model/ListVirtualHostsResult.h

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

+ 629 - 0
amqp-open/src/Amqp-openClient.cc

@@ -0,0 +1,629 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/amqp-open/Amqp_openClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "amqp-open";
+}
+
+Amqp_openClient::Amqp_openClient(const Credentials &credentials, const ClientConfiguration &configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "onsproxy");
+}
+
+Amqp_openClient::Amqp_openClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "onsproxy");
+}
+
+Amqp_openClient::Amqp_openClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "onsproxy");
+}
+
+Amqp_openClient::~Amqp_openClient()
+{}
+
+Amqp_openClient::CreateBindingOutcome Amqp_openClient::createBinding(const CreateBindingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateBindingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateBindingOutcome(CreateBindingResult(outcome.result()));
+	else
+		return CreateBindingOutcome(outcome.error());
+}
+
+void Amqp_openClient::createBindingAsync(const CreateBindingRequest& request, const CreateBindingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createBinding(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::CreateBindingOutcomeCallable Amqp_openClient::createBindingCallable(const CreateBindingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateBindingOutcome()>>(
+			[this, request]()
+			{
+			return this->createBinding(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::CreateExchangeOutcome Amqp_openClient::createExchange(const CreateExchangeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateExchangeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateExchangeOutcome(CreateExchangeResult(outcome.result()));
+	else
+		return CreateExchangeOutcome(outcome.error());
+}
+
+void Amqp_openClient::createExchangeAsync(const CreateExchangeRequest& request, const CreateExchangeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createExchange(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::CreateExchangeOutcomeCallable Amqp_openClient::createExchangeCallable(const CreateExchangeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateExchangeOutcome()>>(
+			[this, request]()
+			{
+			return this->createExchange(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::CreateQueueOutcome Amqp_openClient::createQueue(const CreateQueueRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateQueueOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateQueueOutcome(CreateQueueResult(outcome.result()));
+	else
+		return CreateQueueOutcome(outcome.error());
+}
+
+void Amqp_openClient::createQueueAsync(const CreateQueueRequest& request, const CreateQueueAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createQueue(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::CreateQueueOutcomeCallable Amqp_openClient::createQueueCallable(const CreateQueueRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateQueueOutcome()>>(
+			[this, request]()
+			{
+			return this->createQueue(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::CreateVirtualHostOutcome Amqp_openClient::createVirtualHost(const CreateVirtualHostRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateVirtualHostOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateVirtualHostOutcome(CreateVirtualHostResult(outcome.result()));
+	else
+		return CreateVirtualHostOutcome(outcome.error());
+}
+
+void Amqp_openClient::createVirtualHostAsync(const CreateVirtualHostRequest& request, const CreateVirtualHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createVirtualHost(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::CreateVirtualHostOutcomeCallable Amqp_openClient::createVirtualHostCallable(const CreateVirtualHostRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateVirtualHostOutcome()>>(
+			[this, request]()
+			{
+			return this->createVirtualHost(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::DeleteBindingOutcome Amqp_openClient::deleteBinding(const DeleteBindingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteBindingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteBindingOutcome(DeleteBindingResult(outcome.result()));
+	else
+		return DeleteBindingOutcome(outcome.error());
+}
+
+void Amqp_openClient::deleteBindingAsync(const DeleteBindingRequest& request, const DeleteBindingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteBinding(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::DeleteBindingOutcomeCallable Amqp_openClient::deleteBindingCallable(const DeleteBindingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteBindingOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteBinding(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::DeleteExchangeOutcome Amqp_openClient::deleteExchange(const DeleteExchangeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteExchangeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteExchangeOutcome(DeleteExchangeResult(outcome.result()));
+	else
+		return DeleteExchangeOutcome(outcome.error());
+}
+
+void Amqp_openClient::deleteExchangeAsync(const DeleteExchangeRequest& request, const DeleteExchangeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteExchange(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::DeleteExchangeOutcomeCallable Amqp_openClient::deleteExchangeCallable(const DeleteExchangeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteExchangeOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteExchange(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::DeleteQueueOutcome Amqp_openClient::deleteQueue(const DeleteQueueRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteQueueOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteQueueOutcome(DeleteQueueResult(outcome.result()));
+	else
+		return DeleteQueueOutcome(outcome.error());
+}
+
+void Amqp_openClient::deleteQueueAsync(const DeleteQueueRequest& request, const DeleteQueueAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteQueue(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::DeleteQueueOutcomeCallable Amqp_openClient::deleteQueueCallable(const DeleteQueueRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteQueueOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteQueue(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::DeleteVirtualHostOutcome Amqp_openClient::deleteVirtualHost(const DeleteVirtualHostRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteVirtualHostOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteVirtualHostOutcome(DeleteVirtualHostResult(outcome.result()));
+	else
+		return DeleteVirtualHostOutcome(outcome.error());
+}
+
+void Amqp_openClient::deleteVirtualHostAsync(const DeleteVirtualHostRequest& request, const DeleteVirtualHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteVirtualHost(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::DeleteVirtualHostOutcomeCallable Amqp_openClient::deleteVirtualHostCallable(const DeleteVirtualHostRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteVirtualHostOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteVirtualHost(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListBindingsOutcome Amqp_openClient::listBindings(const ListBindingsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListBindingsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListBindingsOutcome(ListBindingsResult(outcome.result()));
+	else
+		return ListBindingsOutcome(outcome.error());
+}
+
+void Amqp_openClient::listBindingsAsync(const ListBindingsRequest& request, const ListBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listBindings(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListBindingsOutcomeCallable Amqp_openClient::listBindingsCallable(const ListBindingsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListBindingsOutcome()>>(
+			[this, request]()
+			{
+			return this->listBindings(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListDownStreamBindingsOutcome Amqp_openClient::listDownStreamBindings(const ListDownStreamBindingsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListDownStreamBindingsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListDownStreamBindingsOutcome(ListDownStreamBindingsResult(outcome.result()));
+	else
+		return ListDownStreamBindingsOutcome(outcome.error());
+}
+
+void Amqp_openClient::listDownStreamBindingsAsync(const ListDownStreamBindingsRequest& request, const ListDownStreamBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listDownStreamBindings(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListDownStreamBindingsOutcomeCallable Amqp_openClient::listDownStreamBindingsCallable(const ListDownStreamBindingsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListDownStreamBindingsOutcome()>>(
+			[this, request]()
+			{
+			return this->listDownStreamBindings(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListExchangeUpStreamBindingsOutcome Amqp_openClient::listExchangeUpStreamBindings(const ListExchangeUpStreamBindingsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListExchangeUpStreamBindingsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListExchangeUpStreamBindingsOutcome(ListExchangeUpStreamBindingsResult(outcome.result()));
+	else
+		return ListExchangeUpStreamBindingsOutcome(outcome.error());
+}
+
+void Amqp_openClient::listExchangeUpStreamBindingsAsync(const ListExchangeUpStreamBindingsRequest& request, const ListExchangeUpStreamBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listExchangeUpStreamBindings(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListExchangeUpStreamBindingsOutcomeCallable Amqp_openClient::listExchangeUpStreamBindingsCallable(const ListExchangeUpStreamBindingsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListExchangeUpStreamBindingsOutcome()>>(
+			[this, request]()
+			{
+			return this->listExchangeUpStreamBindings(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListExchangesOutcome Amqp_openClient::listExchanges(const ListExchangesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListExchangesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListExchangesOutcome(ListExchangesResult(outcome.result()));
+	else
+		return ListExchangesOutcome(outcome.error());
+}
+
+void Amqp_openClient::listExchangesAsync(const ListExchangesRequest& request, const ListExchangesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listExchanges(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListExchangesOutcomeCallable Amqp_openClient::listExchangesCallable(const ListExchangesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListExchangesOutcome()>>(
+			[this, request]()
+			{
+			return this->listExchanges(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListInstancesOutcome Amqp_openClient::listInstances(const ListInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListInstancesOutcome(ListInstancesResult(outcome.result()));
+	else
+		return ListInstancesOutcome(outcome.error());
+}
+
+void Amqp_openClient::listInstancesAsync(const ListInstancesRequest& request, const ListInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListInstancesOutcomeCallable Amqp_openClient::listInstancesCallable(const ListInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->listInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListQueueUpStreamBindingsOutcome Amqp_openClient::listQueueUpStreamBindings(const ListQueueUpStreamBindingsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListQueueUpStreamBindingsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListQueueUpStreamBindingsOutcome(ListQueueUpStreamBindingsResult(outcome.result()));
+	else
+		return ListQueueUpStreamBindingsOutcome(outcome.error());
+}
+
+void Amqp_openClient::listQueueUpStreamBindingsAsync(const ListQueueUpStreamBindingsRequest& request, const ListQueueUpStreamBindingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listQueueUpStreamBindings(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListQueueUpStreamBindingsOutcomeCallable Amqp_openClient::listQueueUpStreamBindingsCallable(const ListQueueUpStreamBindingsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListQueueUpStreamBindingsOutcome()>>(
+			[this, request]()
+			{
+			return this->listQueueUpStreamBindings(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListQueuesOutcome Amqp_openClient::listQueues(const ListQueuesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListQueuesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListQueuesOutcome(ListQueuesResult(outcome.result()));
+	else
+		return ListQueuesOutcome(outcome.error());
+}
+
+void Amqp_openClient::listQueuesAsync(const ListQueuesRequest& request, const ListQueuesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listQueues(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListQueuesOutcomeCallable Amqp_openClient::listQueuesCallable(const ListQueuesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListQueuesOutcome()>>(
+			[this, request]()
+			{
+			return this->listQueues(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Amqp_openClient::ListVirtualHostsOutcome Amqp_openClient::listVirtualHosts(const ListVirtualHostsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListVirtualHostsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListVirtualHostsOutcome(ListVirtualHostsResult(outcome.result()));
+	else
+		return ListVirtualHostsOutcome(outcome.error());
+}
+
+void Amqp_openClient::listVirtualHostsAsync(const ListVirtualHostsRequest& request, const ListVirtualHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listVirtualHosts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::ListVirtualHostsOutcomeCallable Amqp_openClient::listVirtualHostsCallable(const ListVirtualHostsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListVirtualHostsOutcome()>>(
+			[this, request]()
+			{
+			return this->listVirtualHosts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 106 - 0
amqp-open/src/model/CreateBindingRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/CreateBindingRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::CreateBindingRequest;
+
+CreateBindingRequest::CreateBindingRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "CreateBinding")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateBindingRequest::~CreateBindingRequest()
+{}
+
+std::string CreateBindingRequest::getArgument()const
+{
+	return argument_;
+}
+
+void CreateBindingRequest::setArgument(const std::string& argument)
+{
+	argument_ = argument;
+	setBodyParameter("Argument", argument);
+}
+
+std::string CreateBindingRequest::getDestinationName()const
+{
+	return destinationName_;
+}
+
+void CreateBindingRequest::setDestinationName(const std::string& destinationName)
+{
+	destinationName_ = destinationName;
+	setBodyParameter("DestinationName", destinationName);
+}
+
+std::string CreateBindingRequest::getSourceExchange()const
+{
+	return sourceExchange_;
+}
+
+void CreateBindingRequest::setSourceExchange(const std::string& sourceExchange)
+{
+	sourceExchange_ = sourceExchange;
+	setBodyParameter("SourceExchange", sourceExchange);
+}
+
+std::string CreateBindingRequest::getBindingKey()const
+{
+	return bindingKey_;
+}
+
+void CreateBindingRequest::setBindingKey(const std::string& bindingKey)
+{
+	bindingKey_ = bindingKey;
+	setBodyParameter("BindingKey", bindingKey);
+}
+
+std::string CreateBindingRequest::getBindingType()const
+{
+	return bindingType_;
+}
+
+void CreateBindingRequest::setBindingType(const std::string& bindingType)
+{
+	bindingType_ = bindingType;
+	setBodyParameter("BindingType", bindingType);
+}
+
+std::string CreateBindingRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateBindingRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string CreateBindingRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void CreateBindingRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/CreateBindingResult.cc

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

+ 106 - 0
amqp-open/src/model/CreateExchangeRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/CreateExchangeRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::CreateExchangeRequest;
+
+CreateExchangeRequest::CreateExchangeRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "CreateExchange")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateExchangeRequest::~CreateExchangeRequest()
+{}
+
+bool CreateExchangeRequest::getInternal()const
+{
+	return internal_;
+}
+
+void CreateExchangeRequest::setInternal(bool internal)
+{
+	internal_ = internal;
+	setBodyParameter("Internal", internal ? "true" : "false");
+}
+
+std::string CreateExchangeRequest::getExchangeName()const
+{
+	return exchangeName_;
+}
+
+void CreateExchangeRequest::setExchangeName(const std::string& exchangeName)
+{
+	exchangeName_ = exchangeName;
+	setBodyParameter("ExchangeName", exchangeName);
+}
+
+std::string CreateExchangeRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateExchangeRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string CreateExchangeRequest::getAlternateExchange()const
+{
+	return alternateExchange_;
+}
+
+void CreateExchangeRequest::setAlternateExchange(const std::string& alternateExchange)
+{
+	alternateExchange_ = alternateExchange;
+	setBodyParameter("AlternateExchange", alternateExchange);
+}
+
+bool CreateExchangeRequest::getAutoDeleteState()const
+{
+	return autoDeleteState_;
+}
+
+void CreateExchangeRequest::setAutoDeleteState(bool autoDeleteState)
+{
+	autoDeleteState_ = autoDeleteState;
+	setBodyParameter("AutoDeleteState", autoDeleteState ? "true" : "false");
+}
+
+std::string CreateExchangeRequest::getExchangeType()const
+{
+	return exchangeType_;
+}
+
+void CreateExchangeRequest::setExchangeType(const std::string& exchangeType)
+{
+	exchangeType_ = exchangeType;
+	setBodyParameter("ExchangeType", exchangeType);
+}
+
+std::string CreateExchangeRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void CreateExchangeRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/CreateExchangeResult.cc

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

+ 150 - 0
amqp-open/src/model/CreateQueueRequest.cc

@@ -0,0 +1,150 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/amqp-open/model/CreateQueueRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::CreateQueueRequest;
+
+CreateQueueRequest::CreateQueueRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "CreateQueue")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateQueueRequest::~CreateQueueRequest()
+{}
+
+std::string CreateQueueRequest::getQueueName()const
+{
+	return queueName_;
+}
+
+void CreateQueueRequest::setQueueName(const std::string& queueName)
+{
+	queueName_ = queueName;
+	setBodyParameter("QueueName", queueName);
+}
+
+std::string CreateQueueRequest::getDeadLetterRoutingKey()const
+{
+	return deadLetterRoutingKey_;
+}
+
+void CreateQueueRequest::setDeadLetterRoutingKey(const std::string& deadLetterRoutingKey)
+{
+	deadLetterRoutingKey_ = deadLetterRoutingKey;
+	setBodyParameter("DeadLetterRoutingKey", deadLetterRoutingKey);
+}
+
+long CreateQueueRequest::getMaxLength()const
+{
+	return maxLength_;
+}
+
+void CreateQueueRequest::setMaxLength(long maxLength)
+{
+	maxLength_ = maxLength;
+	setBodyParameter("MaxLength", std::to_string(maxLength));
+}
+
+long CreateQueueRequest::getAutoExpireState()const
+{
+	return autoExpireState_;
+}
+
+void CreateQueueRequest::setAutoExpireState(long autoExpireState)
+{
+	autoExpireState_ = autoExpireState;
+	setBodyParameter("AutoExpireState", std::to_string(autoExpireState));
+}
+
+std::string CreateQueueRequest::getDeadLetterExchange()const
+{
+	return deadLetterExchange_;
+}
+
+void CreateQueueRequest::setDeadLetterExchange(const std::string& deadLetterExchange)
+{
+	deadLetterExchange_ = deadLetterExchange;
+	setBodyParameter("DeadLetterExchange", deadLetterExchange);
+}
+
+std::string CreateQueueRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateQueueRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+bool CreateQueueRequest::getExclusiveState()const
+{
+	return exclusiveState_;
+}
+
+void CreateQueueRequest::setExclusiveState(bool exclusiveState)
+{
+	exclusiveState_ = exclusiveState;
+	setBodyParameter("ExclusiveState", exclusiveState ? "true" : "false");
+}
+
+bool CreateQueueRequest::getAutoDeleteState()const
+{
+	return autoDeleteState_;
+}
+
+void CreateQueueRequest::setAutoDeleteState(bool autoDeleteState)
+{
+	autoDeleteState_ = autoDeleteState;
+	setBodyParameter("AutoDeleteState", autoDeleteState ? "true" : "false");
+}
+
+long CreateQueueRequest::getMessageTTL()const
+{
+	return messageTTL_;
+}
+
+void CreateQueueRequest::setMessageTTL(long messageTTL)
+{
+	messageTTL_ = messageTTL;
+	setBodyParameter("MessageTTL", std::to_string(messageTTL));
+}
+
+std::string CreateQueueRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void CreateQueueRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+
+int CreateQueueRequest::getMaximumPriority()const
+{
+	return maximumPriority_;
+}
+
+void CreateQueueRequest::setMaximumPriority(int maximumPriority)
+{
+	maximumPriority_ = maximumPriority;
+	setBodyParameter("MaximumPriority", std::to_string(maximumPriority));
+}
+

+ 44 - 0
amqp-open/src/model/CreateQueueResult.cc

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

+ 51 - 0
amqp-open/src/model/CreateVirtualHostRequest.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/amqp-open/model/CreateVirtualHostRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::CreateVirtualHostRequest;
+
+CreateVirtualHostRequest::CreateVirtualHostRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "CreateVirtualHost")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateVirtualHostRequest::~CreateVirtualHostRequest()
+{}
+
+std::string CreateVirtualHostRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateVirtualHostRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string CreateVirtualHostRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void CreateVirtualHostRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/CreateVirtualHostResult.cc

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

+ 95 - 0
amqp-open/src/model/DeleteBindingRequest.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/amqp-open/model/DeleteBindingRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::DeleteBindingRequest;
+
+DeleteBindingRequest::DeleteBindingRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "DeleteBinding")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteBindingRequest::~DeleteBindingRequest()
+{}
+
+std::string DeleteBindingRequest::getDestinationName()const
+{
+	return destinationName_;
+}
+
+void DeleteBindingRequest::setDestinationName(const std::string& destinationName)
+{
+	destinationName_ = destinationName;
+	setBodyParameter("DestinationName", destinationName);
+}
+
+std::string DeleteBindingRequest::getSourceExchange()const
+{
+	return sourceExchange_;
+}
+
+void DeleteBindingRequest::setSourceExchange(const std::string& sourceExchange)
+{
+	sourceExchange_ = sourceExchange;
+	setBodyParameter("SourceExchange", sourceExchange);
+}
+
+std::string DeleteBindingRequest::getBindingKey()const
+{
+	return bindingKey_;
+}
+
+void DeleteBindingRequest::setBindingKey(const std::string& bindingKey)
+{
+	bindingKey_ = bindingKey;
+	setBodyParameter("BindingKey", bindingKey);
+}
+
+std::string DeleteBindingRequest::getBindingType()const
+{
+	return bindingType_;
+}
+
+void DeleteBindingRequest::setBindingType(const std::string& bindingType)
+{
+	bindingType_ = bindingType;
+	setBodyParameter("BindingType", bindingType);
+}
+
+std::string DeleteBindingRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteBindingRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string DeleteBindingRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void DeleteBindingRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/DeleteBindingResult.cc

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

+ 62 - 0
amqp-open/src/model/DeleteExchangeRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/DeleteExchangeRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::DeleteExchangeRequest;
+
+DeleteExchangeRequest::DeleteExchangeRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "DeleteExchange")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteExchangeRequest::~DeleteExchangeRequest()
+{}
+
+std::string DeleteExchangeRequest::getExchangeName()const
+{
+	return exchangeName_;
+}
+
+void DeleteExchangeRequest::setExchangeName(const std::string& exchangeName)
+{
+	exchangeName_ = exchangeName;
+	setBodyParameter("ExchangeName", exchangeName);
+}
+
+std::string DeleteExchangeRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteExchangeRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string DeleteExchangeRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void DeleteExchangeRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/DeleteExchangeResult.cc

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

+ 62 - 0
amqp-open/src/model/DeleteQueueRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/DeleteQueueRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::DeleteQueueRequest;
+
+DeleteQueueRequest::DeleteQueueRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "DeleteQueue")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteQueueRequest::~DeleteQueueRequest()
+{}
+
+std::string DeleteQueueRequest::getQueueName()const
+{
+	return queueName_;
+}
+
+void DeleteQueueRequest::setQueueName(const std::string& queueName)
+{
+	queueName_ = queueName;
+	setBodyParameter("QueueName", queueName);
+}
+
+std::string DeleteQueueRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteQueueRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string DeleteQueueRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void DeleteQueueRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/DeleteQueueResult.cc

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

+ 51 - 0
amqp-open/src/model/DeleteVirtualHostRequest.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/amqp-open/model/DeleteVirtualHostRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::DeleteVirtualHostRequest;
+
+DeleteVirtualHostRequest::DeleteVirtualHostRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "DeleteVirtualHost")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteVirtualHostRequest::~DeleteVirtualHostRequest()
+{}
+
+std::string DeleteVirtualHostRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteVirtualHostRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setBodyParameter("InstanceId", instanceId);
+}
+
+std::string DeleteVirtualHostRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void DeleteVirtualHostRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setBodyParameter("VirtualHost", virtualHost);
+}
+

+ 44 - 0
amqp-open/src/model/DeleteVirtualHostResult.cc

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

+ 73 - 0
amqp-open/src/model/ListBindingsRequest.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/amqp-open/model/ListBindingsRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListBindingsRequest;
+
+ListBindingsRequest::ListBindingsRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListBindings")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListBindingsRequest::~ListBindingsRequest()
+{}
+
+std::string ListBindingsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListBindingsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListBindingsRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListBindingsRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListBindingsRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListBindingsRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string ListBindingsRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void ListBindingsRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setParameter("VirtualHost", virtualHost);
+}
+

+ 70 - 0
amqp-open/src/model/ListBindingsResult.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/amqp-open/model/ListBindingsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListBindingsResult::ListBindingsResult() :
+	ServiceResult()
+{}
+
+ListBindingsResult::ListBindingsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListBindingsResult::~ListBindingsResult()
+{}
+
+void ListBindingsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	auto allBindingsNode = dataNode["Bindings"]["BindingDO"];
+	for (auto dataNodeBindingsBindingDO : allBindingsNode)
+	{
+		Data::BindingDO bindingDOObject;
+		if(!dataNodeBindingsBindingDO["SourceExchange"].isNull())
+			bindingDOObject.sourceExchange = dataNodeBindingsBindingDO["SourceExchange"].asString();
+		if(!dataNodeBindingsBindingDO["DestinationName"].isNull())
+			bindingDOObject.destinationName = dataNodeBindingsBindingDO["DestinationName"].asString();
+		if(!dataNodeBindingsBindingDO["BindingType"].isNull())
+			bindingDOObject.bindingType = dataNodeBindingsBindingDO["BindingType"].asString();
+		if(!dataNodeBindingsBindingDO["BindingKey"].isNull())
+			bindingDOObject.bindingKey = dataNodeBindingsBindingDO["BindingKey"].asString();
+		if(!dataNodeBindingsBindingDO["Argument"].isNull())
+			bindingDOObject.argument = dataNodeBindingsBindingDO["Argument"].asString();
+		data_.bindings.push_back(bindingDOObject);
+	}
+
+}
+
+ListBindingsResult::Data ListBindingsResult::getData()const
+{
+	return data_;
+}
+

+ 84 - 0
amqp-open/src/model/ListDownStreamBindingsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListDownStreamBindingsRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListDownStreamBindingsRequest;
+
+ListDownStreamBindingsRequest::ListDownStreamBindingsRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListDownStreamBindings")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListDownStreamBindingsRequest::~ListDownStreamBindingsRequest()
+{}
+
+std::string ListDownStreamBindingsRequest::getExchangeName()const
+{
+	return exchangeName_;
+}
+
+void ListDownStreamBindingsRequest::setExchangeName(const std::string& exchangeName)
+{
+	exchangeName_ = exchangeName;
+	setParameter("ExchangeName", exchangeName);
+}
+
+std::string ListDownStreamBindingsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListDownStreamBindingsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListDownStreamBindingsRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListDownStreamBindingsRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListDownStreamBindingsRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListDownStreamBindingsRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string ListDownStreamBindingsRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void ListDownStreamBindingsRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setParameter("VirtualHost", virtualHost);
+}
+

+ 91 - 0
amqp-open/src/model/ListDownStreamBindingsResult.cc

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListDownStreamBindingsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListDownStreamBindingsResult::ListDownStreamBindingsResult() :
+	ServiceResult()
+{}
+
+ListDownStreamBindingsResult::ListDownStreamBindingsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListDownStreamBindingsResult::~ListDownStreamBindingsResult()
+{}
+
+void ListDownStreamBindingsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	auto allBindingsNode = dataNode["Bindings"]["BindingVO"];
+	for (auto dataNodeBindingsBindingVO : allBindingsNode)
+	{
+		Data::BindingVO bindingVOObject;
+		if(!dataNodeBindingsBindingVO["SourceExchange"].isNull())
+			bindingVOObject.sourceExchange = dataNodeBindingsBindingVO["SourceExchange"].asString();
+		if(!dataNodeBindingsBindingVO["DestinationName"].isNull())
+			bindingVOObject.destinationName = dataNodeBindingsBindingVO["DestinationName"].asString();
+		if(!dataNodeBindingsBindingVO["BindingType"].isNull())
+			bindingVOObject.bindingType = dataNodeBindingsBindingVO["BindingType"].asString();
+		if(!dataNodeBindingsBindingVO["BindingKey"].isNull())
+			bindingVOObject.bindingKey = dataNodeBindingsBindingVO["BindingKey"].asString();
+		if(!dataNodeBindingsBindingVO["Argument"].isNull())
+			bindingVOObject.argument = dataNodeBindingsBindingVO["Argument"].asString();
+		data_.bindings.push_back(bindingVOObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string ListDownStreamBindingsResult::getMessage()const
+{
+	return message_;
+}
+
+ListDownStreamBindingsResult::Data ListDownStreamBindingsResult::getData()const
+{
+	return data_;
+}
+
+int ListDownStreamBindingsResult::getCode()const
+{
+	return code_;
+}
+
+bool ListDownStreamBindingsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 84 - 0
amqp-open/src/model/ListExchangeUpStreamBindingsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListExchangeUpStreamBindingsRequest;
+
+ListExchangeUpStreamBindingsRequest::ListExchangeUpStreamBindingsRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListExchangeUpStreamBindings")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListExchangeUpStreamBindingsRequest::~ListExchangeUpStreamBindingsRequest()
+{}
+
+std::string ListExchangeUpStreamBindingsRequest::getExchangeName()const
+{
+	return exchangeName_;
+}
+
+void ListExchangeUpStreamBindingsRequest::setExchangeName(const std::string& exchangeName)
+{
+	exchangeName_ = exchangeName;
+	setParameter("ExchangeName", exchangeName);
+}
+
+std::string ListExchangeUpStreamBindingsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListExchangeUpStreamBindingsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListExchangeUpStreamBindingsRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListExchangeUpStreamBindingsRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListExchangeUpStreamBindingsRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListExchangeUpStreamBindingsRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string ListExchangeUpStreamBindingsRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void ListExchangeUpStreamBindingsRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setParameter("VirtualHost", virtualHost);
+}
+

+ 91 - 0
amqp-open/src/model/ListExchangeUpStreamBindingsResult.cc

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListExchangeUpStreamBindingsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListExchangeUpStreamBindingsResult::ListExchangeUpStreamBindingsResult() :
+	ServiceResult()
+{}
+
+ListExchangeUpStreamBindingsResult::ListExchangeUpStreamBindingsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListExchangeUpStreamBindingsResult::~ListExchangeUpStreamBindingsResult()
+{}
+
+void ListExchangeUpStreamBindingsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	auto allBindingsNode = dataNode["Bindings"]["BindingVO"];
+	for (auto dataNodeBindingsBindingVO : allBindingsNode)
+	{
+		Data::BindingVO bindingVOObject;
+		if(!dataNodeBindingsBindingVO["SourceExchange"].isNull())
+			bindingVOObject.sourceExchange = dataNodeBindingsBindingVO["SourceExchange"].asString();
+		if(!dataNodeBindingsBindingVO["DestinationName"].isNull())
+			bindingVOObject.destinationName = dataNodeBindingsBindingVO["DestinationName"].asString();
+		if(!dataNodeBindingsBindingVO["BindingType"].isNull())
+			bindingVOObject.bindingType = dataNodeBindingsBindingVO["BindingType"].asString();
+		if(!dataNodeBindingsBindingVO["BindingKey"].isNull())
+			bindingVOObject.bindingKey = dataNodeBindingsBindingVO["BindingKey"].asString();
+		if(!dataNodeBindingsBindingVO["Argument"].isNull())
+			bindingVOObject.argument = dataNodeBindingsBindingVO["Argument"].asString();
+		data_.bindings.push_back(bindingVOObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string ListExchangeUpStreamBindingsResult::getMessage()const
+{
+	return message_;
+}
+
+ListExchangeUpStreamBindingsResult::Data ListExchangeUpStreamBindingsResult::getData()const
+{
+	return data_;
+}
+
+int ListExchangeUpStreamBindingsResult::getCode()const
+{
+	return code_;
+}
+
+bool ListExchangeUpStreamBindingsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 73 - 0
amqp-open/src/model/ListExchangesRequest.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/amqp-open/model/ListExchangesRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListExchangesRequest;
+
+ListExchangesRequest::ListExchangesRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListExchanges")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListExchangesRequest::~ListExchangesRequest()
+{}
+
+std::string ListExchangesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListExchangesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListExchangesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListExchangesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListExchangesRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListExchangesRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string ListExchangesRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void ListExchangesRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setParameter("VirtualHost", virtualHost);
+}
+

+ 72 - 0
amqp-open/src/model/ListExchangesResult.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListExchangesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListExchangesResult::ListExchangesResult() :
+	ServiceResult()
+{}
+
+ListExchangesResult::ListExchangesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListExchangesResult::~ListExchangesResult()
+{}
+
+void ListExchangesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	auto allExchangesNode = dataNode["Exchanges"]["ExchangeVO"];
+	for (auto dataNodeExchangesExchangeVO : allExchangesNode)
+	{
+		Data::ExchangeVO exchangeVOObject;
+		if(!dataNodeExchangesExchangeVO["Name"].isNull())
+			exchangeVOObject.name = dataNodeExchangesExchangeVO["Name"].asString();
+		if(!dataNodeExchangesExchangeVO["VHostName"].isNull())
+			exchangeVOObject.vHostName = dataNodeExchangesExchangeVO["VHostName"].asString();
+		if(!dataNodeExchangesExchangeVO["ExchangeType"].isNull())
+			exchangeVOObject.exchangeType = dataNodeExchangesExchangeVO["ExchangeType"].asString();
+		if(!dataNodeExchangesExchangeVO["AutoDeleteState"].isNull())
+			exchangeVOObject.autoDeleteState = dataNodeExchangesExchangeVO["AutoDeleteState"].asString() == "true";
+		if(!dataNodeExchangesExchangeVO["Attributes"].isNull())
+			exchangeVOObject.attributes = dataNodeExchangesExchangeVO["Attributes"].asString();
+		if(!dataNodeExchangesExchangeVO["CreateTime"].isNull())
+			exchangeVOObject.createTime = std::stol(dataNodeExchangesExchangeVO["CreateTime"].asString());
+		data_.exchanges.push_back(exchangeVOObject);
+	}
+
+}
+
+ListExchangesResult::Data ListExchangesResult::getData()const
+{
+	return data_;
+}
+

+ 51 - 0
amqp-open/src/model/ListInstancesRequest.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/amqp-open/model/ListInstancesRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListInstancesRequest;
+
+ListInstancesRequest::ListInstancesRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListInstances")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListInstancesRequest::~ListInstancesRequest()
+{}
+
+std::string ListInstancesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListInstancesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListInstancesRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListInstancesRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+

+ 82 - 0
amqp-open/src/model/ListInstancesResult.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListInstancesResult::ListInstancesResult() :
+	ServiceResult()
+{}
+
+ListInstancesResult::ListInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListInstancesResult::~ListInstancesResult()
+{}
+
+void ListInstancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	auto allInstancesNode = dataNode["Instances"]["InstanceVO"];
+	for (auto dataNodeInstancesInstanceVO : allInstancesNode)
+	{
+		Data::InstanceVO instanceVOObject;
+		if(!dataNodeInstancesInstanceVO["InstanceId"].isNull())
+			instanceVOObject.instanceId = dataNodeInstancesInstanceVO["InstanceId"].asString();
+		if(!dataNodeInstancesInstanceVO["InstanceName"].isNull())
+			instanceVOObject.instanceName = dataNodeInstancesInstanceVO["InstanceName"].asString();
+		if(!dataNodeInstancesInstanceVO["InstanceType"].isNull())
+			instanceVOObject.instanceType = dataNodeInstancesInstanceVO["InstanceType"].asString();
+		if(!dataNodeInstancesInstanceVO["Status"].isNull())
+			instanceVOObject.status = dataNodeInstancesInstanceVO["Status"].asString();
+		if(!dataNodeInstancesInstanceVO["OrderType"].isNull())
+			instanceVOObject.orderType = dataNodeInstancesInstanceVO["OrderType"].asString();
+		if(!dataNodeInstancesInstanceVO["OrderCreateTime"].isNull())
+			instanceVOObject.orderCreateTime = std::stol(dataNodeInstancesInstanceVO["OrderCreateTime"].asString());
+		if(!dataNodeInstancesInstanceVO["ExpireTime"].isNull())
+			instanceVOObject.expireTime = std::stol(dataNodeInstancesInstanceVO["ExpireTime"].asString());
+		if(!dataNodeInstancesInstanceVO["AutoRenewInstance"].isNull())
+			instanceVOObject.autoRenewInstance = dataNodeInstancesInstanceVO["AutoRenewInstance"].asString() == "true";
+		if(!dataNodeInstancesInstanceVO["SupportEIP"].isNull())
+			instanceVOObject.supportEIP = dataNodeInstancesInstanceVO["SupportEIP"].asString() == "true";
+		if(!dataNodeInstancesInstanceVO["PrivateEndpoint"].isNull())
+			instanceVOObject.privateEndpoint = dataNodeInstancesInstanceVO["PrivateEndpoint"].asString();
+		if(!dataNodeInstancesInstanceVO["PublicEndpoint"].isNull())
+			instanceVOObject.publicEndpoint = dataNodeInstancesInstanceVO["PublicEndpoint"].asString();
+		data_.instances.push_back(instanceVOObject);
+	}
+
+}
+
+ListInstancesResult::Data ListInstancesResult::getData()const
+{
+	return data_;
+}
+

+ 84 - 0
amqp-open/src/model/ListQueueUpStreamBindingsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListQueueUpStreamBindingsRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListQueueUpStreamBindingsRequest;
+
+ListQueueUpStreamBindingsRequest::ListQueueUpStreamBindingsRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListQueueUpStreamBindings")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListQueueUpStreamBindingsRequest::~ListQueueUpStreamBindingsRequest()
+{}
+
+std::string ListQueueUpStreamBindingsRequest::getQueueName()const
+{
+	return queueName_;
+}
+
+void ListQueueUpStreamBindingsRequest::setQueueName(const std::string& queueName)
+{
+	queueName_ = queueName;
+	setParameter("QueueName", queueName);
+}
+
+std::string ListQueueUpStreamBindingsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListQueueUpStreamBindingsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListQueueUpStreamBindingsRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListQueueUpStreamBindingsRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListQueueUpStreamBindingsRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListQueueUpStreamBindingsRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string ListQueueUpStreamBindingsRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void ListQueueUpStreamBindingsRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setParameter("VirtualHost", virtualHost);
+}
+

+ 70 - 0
amqp-open/src/model/ListQueueUpStreamBindingsResult.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/amqp-open/model/ListQueueUpStreamBindingsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListQueueUpStreamBindingsResult::ListQueueUpStreamBindingsResult() :
+	ServiceResult()
+{}
+
+ListQueueUpStreamBindingsResult::ListQueueUpStreamBindingsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListQueueUpStreamBindingsResult::~ListQueueUpStreamBindingsResult()
+{}
+
+void ListQueueUpStreamBindingsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = dataNode["MaxResults"].asString();
+	auto allBindingsNode = dataNode["Bindings"]["BindingVO"];
+	for (auto dataNodeBindingsBindingVO : allBindingsNode)
+	{
+		Data::BindingVO bindingVOObject;
+		if(!dataNodeBindingsBindingVO["SourceExchange"].isNull())
+			bindingVOObject.sourceExchange = dataNodeBindingsBindingVO["SourceExchange"].asString();
+		if(!dataNodeBindingsBindingVO["DestinationName"].isNull())
+			bindingVOObject.destinationName = dataNodeBindingsBindingVO["DestinationName"].asString();
+		if(!dataNodeBindingsBindingVO["BindingType"].isNull())
+			bindingVOObject.bindingType = dataNodeBindingsBindingVO["BindingType"].asString();
+		if(!dataNodeBindingsBindingVO["BindingKey"].isNull())
+			bindingVOObject.bindingKey = dataNodeBindingsBindingVO["BindingKey"].asString();
+		if(!dataNodeBindingsBindingVO["Argument"].isNull())
+			bindingVOObject.argument = dataNodeBindingsBindingVO["Argument"].asString();
+		data_.bindings.push_back(bindingVOObject);
+	}
+
+}
+
+ListQueueUpStreamBindingsResult::Data ListQueueUpStreamBindingsResult::getData()const
+{
+	return data_;
+}
+

+ 73 - 0
amqp-open/src/model/ListQueuesRequest.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/amqp-open/model/ListQueuesRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListQueuesRequest;
+
+ListQueuesRequest::ListQueuesRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListQueues")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListQueuesRequest::~ListQueuesRequest()
+{}
+
+std::string ListQueuesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListQueuesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListQueuesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListQueuesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListQueuesRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListQueuesRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string ListQueuesRequest::getVirtualHost()const
+{
+	return virtualHost_;
+}
+
+void ListQueuesRequest::setVirtualHost(const std::string& virtualHost)
+{
+	virtualHost_ = virtualHost;
+	setParameter("VirtualHost", virtualHost);
+}
+

+ 76 - 0
amqp-open/src/model/ListQueuesResult.cc

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListQueuesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Amqp_open;
+using namespace AlibabaCloud::Amqp_open::Model;
+
+ListQueuesResult::ListQueuesResult() :
+	ServiceResult()
+{}
+
+ListQueuesResult::ListQueuesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListQueuesResult::~ListQueuesResult()
+{}
+
+void ListQueuesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	auto allQueuesNode = dataNode["Queues"]["QueueVO"];
+	for (auto dataNodeQueuesQueueVO : allQueuesNode)
+	{
+		Data::QueueVO queueVOObject;
+		if(!dataNodeQueuesQueueVO["Name"].isNull())
+			queueVOObject.name = dataNodeQueuesQueueVO["Name"].asString();
+		if(!dataNodeQueuesQueueVO["OwnerId"].isNull())
+			queueVOObject.ownerId = dataNodeQueuesQueueVO["OwnerId"].asString();
+		if(!dataNodeQueuesQueueVO["VHostName"].isNull())
+			queueVOObject.vHostName = dataNodeQueuesQueueVO["VHostName"].asString();
+		if(!dataNodeQueuesQueueVO["AutoDeleteState"].isNull())
+			queueVOObject.autoDeleteState = dataNodeQueuesQueueVO["AutoDeleteState"].asString() == "true";
+		if(!dataNodeQueuesQueueVO["ExclusiveState"].isNull())
+			queueVOObject.exclusiveState = dataNodeQueuesQueueVO["ExclusiveState"].asString() == "true";
+		if(!dataNodeQueuesQueueVO["CreateTime"].isNull())
+			queueVOObject.createTime = std::stol(dataNodeQueuesQueueVO["CreateTime"].asString());
+		if(!dataNodeQueuesQueueVO["LastConsumeTime"].isNull())
+			queueVOObject.lastConsumeTime = std::stol(dataNodeQueuesQueueVO["LastConsumeTime"].asString());
+		if(!dataNodeQueuesQueueVO["Attributes"].isNull())
+			queueVOObject.attributes = dataNodeQueuesQueueVO["Attributes"].asString();
+		data_.queues.push_back(queueVOObject);
+	}
+
+}
+
+ListQueuesResult::Data ListQueuesResult::getData()const
+{
+	return data_;
+}
+

+ 62 - 0
amqp-open/src/model/ListVirtualHostsRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/ListVirtualHostsRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::ListVirtualHostsRequest;
+
+ListVirtualHostsRequest::ListVirtualHostsRequest() :
+	RpcServiceRequest("amqp-open", "2019-12-12", "ListVirtualHosts")
+{
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListVirtualHostsRequest::~ListVirtualHostsRequest()
+{}
+
+std::string ListVirtualHostsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ListVirtualHostsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ListVirtualHostsRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListVirtualHostsRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+int ListVirtualHostsRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void ListVirtualHostsRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+

+ 62 - 0
amqp-open/src/model/ListVirtualHostsResult.cc

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