Эх сурвалжийг харах

Generated 2019-01-01 for Cassandra.

sdk-team 6 жил өмнө
parent
commit
4d493b157c
27 өөрчлөгдсөн 1192 нэмэгдсэн , 1 устгасан
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 16 0
      cassandra/CMakeLists.txt
  4. 32 0
      cassandra/include/alibabacloud/cassandra/CassandraClient.h
  5. 6 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterResult.h
  6. 12 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClustersRequest.h
  7. 6 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClustersResult.h
  8. 63 0
      cassandra/include/alibabacloud/cassandra/model/ListTagResourcesRequest.h
  9. 60 0
      cassandra/include/alibabacloud/cassandra/model/ListTagResourcesResult.h
  10. 48 0
      cassandra/include/alibabacloud/cassandra/model/ListTagsRequest.h
  11. 56 0
      cassandra/include/alibabacloud/cassandra/model/ListTagsResult.h
  12. 60 0
      cassandra/include/alibabacloud/cassandra/model/TagResourcesRequest.h
  13. 49 0
      cassandra/include/alibabacloud/cassandra/model/TagResourcesResult.h
  14. 57 0
      cassandra/include/alibabacloud/cassandra/model/UnTagResourcesRequest.h
  15. 49 0
      cassandra/include/alibabacloud/cassandra/model/UnTagResourcesResult.h
  16. 144 0
      cassandra/src/CassandraClient.cc
  17. 10 0
      cassandra/src/model/DescribeClusterResult.cc
  18. 27 0
      cassandra/src/model/DescribeClustersRequest.cc
  19. 10 0
      cassandra/src/model/DescribeClustersResult.cc
  20. 80 0
      cassandra/src/model/ListTagResourcesRequest.cc
  21. 70 0
      cassandra/src/model/ListTagResourcesResult.cc
  22. 40 0
      cassandra/src/model/ListTagsRequest.cc
  23. 59 0
      cassandra/src/model/ListTagsResult.cc
  24. 69 0
      cassandra/src/model/TagResourcesRequest.cc
  25. 44 0
      cassandra/src/model/TagResourcesResult.cc
  26. 77 0
      cassandra/src/model/UnTagResourcesRequest.cc
  27. 44 0
      cassandra/src/model/UnTagResourcesResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-04-22 Version: 1.36.371
+- Generated 2019-01-01 for `Cassandra`.
+
 2020-04-21 Version: 1.36.370
 - Supported API for DescribeTags.
 - Supported API for ListTagResources.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.370
+1.36.371

+ 16 - 0
cassandra/CMakeLists.txt

@@ -81,6 +81,10 @@ set(cassandra_public_header_model
 	include/alibabacloud/cassandra/model/ExecuteNodeToolResult.h
 	include/alibabacloud/cassandra/model/GetCmsUrlRequest.h
 	include/alibabacloud/cassandra/model/GetCmsUrlResult.h
+	include/alibabacloud/cassandra/model/ListTagResourcesRequest.h
+	include/alibabacloud/cassandra/model/ListTagResourcesResult.h
+	include/alibabacloud/cassandra/model/ListTagsRequest.h
+	include/alibabacloud/cassandra/model/ListTagsResult.h
 	include/alibabacloud/cassandra/model/ModifyAccountPasswordRequest.h
 	include/alibabacloud/cassandra/model/ModifyAccountPasswordResult.h
 	include/alibabacloud/cassandra/model/ModifyBackupPlanRequest.h
@@ -111,6 +115,10 @@ set(cassandra_public_header_model
 	include/alibabacloud/cassandra/model/ResizeDiskSizeResult.h
 	include/alibabacloud/cassandra/model/ResizeNodeCountRequest.h
 	include/alibabacloud/cassandra/model/ResizeNodeCountResult.h
+	include/alibabacloud/cassandra/model/TagResourcesRequest.h
+	include/alibabacloud/cassandra/model/TagResourcesResult.h
+	include/alibabacloud/cassandra/model/UnTagResourcesRequest.h
+	include/alibabacloud/cassandra/model/UnTagResourcesResult.h
 	include/alibabacloud/cassandra/model/UpgradeClusterVersionRequest.h
 	include/alibabacloud/cassandra/model/UpgradeClusterVersionResult.h )
 
@@ -176,6 +184,10 @@ set(cassandra_src
 	src/model/ExecuteNodeToolResult.cc
 	src/model/GetCmsUrlRequest.cc
 	src/model/GetCmsUrlResult.cc
+	src/model/ListTagResourcesRequest.cc
+	src/model/ListTagResourcesResult.cc
+	src/model/ListTagsRequest.cc
+	src/model/ListTagsResult.cc
 	src/model/ModifyAccountPasswordRequest.cc
 	src/model/ModifyAccountPasswordResult.cc
 	src/model/ModifyBackupPlanRequest.cc
@@ -206,6 +218,10 @@ set(cassandra_src
 	src/model/ResizeDiskSizeResult.cc
 	src/model/ResizeNodeCountRequest.cc
 	src/model/ResizeNodeCountResult.cc
+	src/model/TagResourcesRequest.cc
+	src/model/TagResourcesResult.cc
+	src/model/UnTagResourcesRequest.cc
+	src/model/UnTagResourcesResult.cc
 	src/model/UpgradeClusterVersionRequest.cc
 	src/model/UpgradeClusterVersionResult.cc )
 

+ 32 - 0
cassandra/include/alibabacloud/cassandra/CassandraClient.h

@@ -82,6 +82,10 @@
 #include "model/ExecuteNodeToolResult.h"
 #include "model/GetCmsUrlRequest.h"
 #include "model/GetCmsUrlResult.h"
+#include "model/ListTagResourcesRequest.h"
+#include "model/ListTagResourcesResult.h"
+#include "model/ListTagsRequest.h"
+#include "model/ListTagsResult.h"
 #include "model/ModifyAccountPasswordRequest.h"
 #include "model/ModifyAccountPasswordResult.h"
 #include "model/ModifyBackupPlanRequest.h"
@@ -112,6 +116,10 @@
 #include "model/ResizeDiskSizeResult.h"
 #include "model/ResizeNodeCountRequest.h"
 #include "model/ResizeNodeCountResult.h"
+#include "model/TagResourcesRequest.h"
+#include "model/TagResourcesResult.h"
+#include "model/UnTagResourcesRequest.h"
+#include "model/UnTagResourcesResult.h"
 #include "model/UpgradeClusterVersionRequest.h"
 #include "model/UpgradeClusterVersionResult.h"
 
@@ -213,6 +221,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetCmsUrlResult> GetCmsUrlOutcome;
 			typedef std::future<GetCmsUrlOutcome> GetCmsUrlOutcomeCallable;
 			typedef std::function<void(const CassandraClient*, const Model::GetCmsUrlRequest&, const GetCmsUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCmsUrlAsyncHandler;
+			typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
+			typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::ListTagsResult> ListTagsOutcome;
+			typedef std::future<ListTagsOutcome> ListTagsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ListTagsRequest&, const ListTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagsAsyncHandler;
 			typedef Outcome<Error, Model::ModifyAccountPasswordResult> ModifyAccountPasswordOutcome;
 			typedef std::future<ModifyAccountPasswordOutcome> ModifyAccountPasswordOutcomeCallable;
 			typedef std::function<void(const CassandraClient*, const Model::ModifyAccountPasswordRequest&, const ModifyAccountPasswordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAccountPasswordAsyncHandler;
@@ -258,6 +272,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ResizeNodeCountResult> ResizeNodeCountOutcome;
 			typedef std::future<ResizeNodeCountOutcome> ResizeNodeCountOutcomeCallable;
 			typedef std::function<void(const CassandraClient*, const Model::ResizeNodeCountRequest&, const ResizeNodeCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeNodeCountAsyncHandler;
+			typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
+			typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UnTagResourcesResult> UnTagResourcesOutcome;
+			typedef std::future<UnTagResourcesOutcome> UnTagResourcesOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::UnTagResourcesRequest&, const UnTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnTagResourcesAsyncHandler;
 			typedef Outcome<Error, Model::UpgradeClusterVersionResult> UpgradeClusterVersionOutcome;
 			typedef std::future<UpgradeClusterVersionOutcome> UpgradeClusterVersionOutcomeCallable;
 			typedef std::function<void(const CassandraClient*, const Model::UpgradeClusterVersionRequest&, const UpgradeClusterVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeClusterVersionAsyncHandler;
@@ -356,6 +376,12 @@ namespace AlibabaCloud
 			GetCmsUrlOutcome getCmsUrl(const Model::GetCmsUrlRequest &request)const;
 			void getCmsUrlAsync(const Model::GetCmsUrlRequest& request, const GetCmsUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetCmsUrlOutcomeCallable getCmsUrlCallable(const Model::GetCmsUrlRequest& request) const;
+			ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
+			void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
+			ListTagsOutcome listTags(const Model::ListTagsRequest &request)const;
+			void listTagsAsync(const Model::ListTagsRequest& request, const ListTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagsOutcomeCallable listTagsCallable(const Model::ListTagsRequest& request) const;
 			ModifyAccountPasswordOutcome modifyAccountPassword(const Model::ModifyAccountPasswordRequest &request)const;
 			void modifyAccountPasswordAsync(const Model::ModifyAccountPasswordRequest& request, const ModifyAccountPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyAccountPasswordOutcomeCallable modifyAccountPasswordCallable(const Model::ModifyAccountPasswordRequest& request) const;
@@ -401,6 +427,12 @@ namespace AlibabaCloud
 			ResizeNodeCountOutcome resizeNodeCount(const Model::ResizeNodeCountRequest &request)const;
 			void resizeNodeCountAsync(const Model::ResizeNodeCountRequest& request, const ResizeNodeCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResizeNodeCountOutcomeCallable resizeNodeCountCallable(const Model::ResizeNodeCountRequest& request) const;
+			TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
+			void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
+			UnTagResourcesOutcome unTagResources(const Model::UnTagResourcesRequest &request)const;
+			void unTagResourcesAsync(const Model::UnTagResourcesRequest& request, const UnTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnTagResourcesOutcomeCallable unTagResourcesCallable(const Model::UnTagResourcesRequest& request) const;
 			UpgradeClusterVersionOutcome upgradeClusterVersion(const Model::UpgradeClusterVersionRequest &request)const;
 			void upgradeClusterVersionAsync(const Model::UpgradeClusterVersionRequest& request, const UpgradeClusterVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpgradeClusterVersionOutcomeCallable upgradeClusterVersionCallable(const Model::UpgradeClusterVersionRequest& request) const;

+ 6 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Cluster
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string majorVersion;
 					std::string createdTime;
@@ -46,6 +51,7 @@ namespace AlibabaCloud
 					int dataCenterCount;
 					std::string clusterName;
 					std::string expireTime;
+					std::vector<Tag> tags;
 					std::string maintainStartTime;
 				};
 

+ 12 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClustersRequest.h

@@ -30,22 +30,34 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClustersRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 			public:
 				DescribeClustersRequest();
 				~DescribeClustersRequest();
 
+				std::string getClusterName()const;
+				void setClusterName(const std::string& clusterName);
 				int getPageNumber()const;
 				void setPageNumber(int pageNumber);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 
             private:
+				std::string clusterName_;
 				int pageNumber_;
 				std::string regionId_;
 				int pageSize_;
+				std::vector<Tag> tag_;
 
 			};
 		}

+ 6 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClustersResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Cluster
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string majorVersion;
 					std::string createdTime;
@@ -44,6 +49,7 @@ namespace AlibabaCloud
 					std::string payType;
 					std::string lockMode;
 					std::string expireTime;
+					std::vector<Cluster::Tag> tags;
 				};
 
 

+ 63 - 0
cassandra/include/alibabacloud/cassandra/model/ListTagResourcesRequest.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_CASSANDRA_MODEL_LISTTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_LISTTAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ListTagResourcesRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				ListTagResourcesRequest();
+				~ListTagResourcesRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+
+            private:
+				std::string regionId_;
+				std::string nextToken_;
+				std::vector<Tag> tag_;
+				std::vector<std::string> resourceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_LISTTAGRESOURCESREQUEST_H_

+ 60 - 0
cassandra/include/alibabacloud/cassandra/model/ListTagResourcesResult.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_CASSANDRA_MODEL_LISTTAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_LISTTAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ListTagResourcesResult : public ServiceResult
+			{
+			public:
+				struct TagResource
+				{
+					std::string resourceId;
+					std::string tagKey;
+					std::string resourceType;
+					std::string tagValue;
+				};
+
+
+				ListTagResourcesResult();
+				explicit ListTagResourcesResult(const std::string &payload);
+				~ListTagResourcesResult();
+				std::string getNextToken()const;
+				std::vector<TagResource> getTagResources()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<TagResource> tagResources_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_LISTTAGRESOURCESRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/ListTagsRequest.h

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

+ 56 - 0
cassandra/include/alibabacloud/cassandra/model/ListTagsResult.h

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

+ 60 - 0
cassandra/include/alibabacloud/cassandra/model/TagResourcesRequest.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_CASSANDRA_MODEL_TAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_TAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT TagResourcesRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				TagResourcesRequest();
+				~TagResourcesRequest();
+
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+
+            private:
+				std::vector<std::string> resourceId_;
+				std::string regionId_;
+				std::vector<Tag> tag_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_TAGRESOURCESREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/TagResourcesResult.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_CASSANDRA_MODEL_TAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_TAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT TagResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				TagResourcesResult();
+				explicit TagResourcesResult(const std::string &payload);
+				~TagResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_TAGRESOURCESRESULT_H_

+ 57 - 0
cassandra/include/alibabacloud/cassandra/model/UnTagResourcesRequest.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_CASSANDRA_MODEL_UNTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_UNTAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT UnTagResourcesRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnTagResourcesRequest();
+				~UnTagResourcesRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getAll()const;
+				void setAll(bool all);
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				std::vector<std::string> getTagKey()const;
+				void setTagKey(const std::vector<std::string>& tagKey);
+
+            private:
+				std::string regionId_;
+				bool all_;
+				std::vector<std::string> resourceId_;
+				std::vector<std::string> tagKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_UNTAGRESOURCESREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/UnTagResourcesResult.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_CASSANDRA_MODEL_UNTAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_UNTAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT UnTagResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				UnTagResourcesResult();
+				explicit UnTagResourcesResult(const std::string &payload);
+				~UnTagResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_UNTAGRESOURCESRESULT_H_

+ 144 - 0
cassandra/src/CassandraClient.cc

@@ -1131,6 +1131,78 @@ CassandraClient::GetCmsUrlOutcomeCallable CassandraClient::getCmsUrlCallable(con
 	return task->get_future();
 }
 
+CassandraClient::ListTagResourcesOutcome CassandraClient::listTagResources(const ListTagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagResourcesOutcome(ListTagResourcesResult(outcome.result()));
+	else
+		return ListTagResourcesOutcome(outcome.error());
+}
+
+void CassandraClient::listTagResourcesAsync(const ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ListTagResourcesOutcomeCallable CassandraClient::listTagResourcesCallable(const ListTagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ListTagsOutcome CassandraClient::listTags(const ListTagsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagsOutcome(ListTagsResult(outcome.result()));
+	else
+		return ListTagsOutcome(outcome.error());
+}
+
+void CassandraClient::listTagsAsync(const ListTagsRequest& request, const ListTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTags(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ListTagsOutcomeCallable CassandraClient::listTagsCallable(const ListTagsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagsOutcome()>>(
+			[this, request]()
+			{
+			return this->listTags(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CassandraClient::ModifyAccountPasswordOutcome CassandraClient::modifyAccountPassword(const ModifyAccountPasswordRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1671,6 +1743,78 @@ CassandraClient::ResizeNodeCountOutcomeCallable CassandraClient::resizeNodeCount
 	return task->get_future();
 }
 
+CassandraClient::TagResourcesOutcome CassandraClient::tagResources(const TagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TagResourcesOutcome(TagResourcesResult(outcome.result()));
+	else
+		return TagResourcesOutcome(outcome.error());
+}
+
+void CassandraClient::tagResourcesAsync(const TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, tagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::TagResourcesOutcomeCallable CassandraClient::tagResourcesCallable(const TagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->tagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::UnTagResourcesOutcome CassandraClient::unTagResources(const UnTagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnTagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnTagResourcesOutcome(UnTagResourcesResult(outcome.result()));
+	else
+		return UnTagResourcesOutcome(outcome.error());
+}
+
+void CassandraClient::unTagResourcesAsync(const UnTagResourcesRequest& request, const UnTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unTagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::UnTagResourcesOutcomeCallable CassandraClient::unTagResourcesCallable(const UnTagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnTagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->unTagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CassandraClient::UpgradeClusterVersionOutcome CassandraClient::upgradeClusterVersion(const UpgradeClusterVersionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 10 - 0
cassandra/src/model/DescribeClusterResult.cc

@@ -66,6 +66,16 @@ void DescribeClusterResult::parse(const std::string &payload)
 		cluster_.maintainEndTime = clusterNode["MaintainEndTime"].asString();
 	if(!clusterNode["LockMode"].isNull())
 		cluster_.lockMode = clusterNode["LockMode"].asString();
+	auto allTagsNode = clusterNode["Tags"]["Tag"];
+	for (auto clusterNodeTagsTag : allTagsNode)
+	{
+		Cluster::Tag tagObject;
+		if(!clusterNodeTagsTag["Key"].isNull())
+			tagObject.key = clusterNodeTagsTag["Key"].asString();
+		if(!clusterNodeTagsTag["Value"].isNull())
+			tagObject.value = clusterNodeTagsTag["Value"].asString();
+		cluster_.tags.push_back(tagObject);
+	}
 
 }
 

+ 27 - 0
cassandra/src/model/DescribeClustersRequest.cc

@@ -27,6 +27,17 @@ DescribeClustersRequest::DescribeClustersRequest() :
 DescribeClustersRequest::~DescribeClustersRequest()
 {}
 
+std::string DescribeClustersRequest::getClusterName()const
+{
+	return clusterName_;
+}
+
+void DescribeClustersRequest::setClusterName(const std::string& clusterName)
+{
+	clusterName_ = clusterName;
+	setParameter("ClusterName", clusterName);
+}
+
 int DescribeClustersRequest::getPageNumber()const
 {
 	return pageNumber_;
@@ -60,3 +71,19 @@ void DescribeClustersRequest::setPageSize(int pageSize)
 	setParameter("PageSize", std::to_string(pageSize));
 }
 
+std::vector<DescribeClustersRequest::Tag> DescribeClustersRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeClustersRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+

+ 10 - 0
cassandra/src/model/DescribeClustersResult.cc

@@ -63,6 +63,16 @@ void DescribeClustersResult::parse(const std::string &payload)
 			clustersObject.dataCenterCount = std::stoi(valueClustersCluster["DataCenterCount"].asString());
 		if(!valueClustersCluster["LockMode"].isNull())
 			clustersObject.lockMode = valueClustersCluster["LockMode"].asString();
+		auto allTagsNode = allClustersNode["Tags"]["Tag"];
+		for (auto allClustersNodeTagsTag : allTagsNode)
+		{
+			Cluster::Tag tagsObject;
+			if(!allClustersNodeTagsTag["Key"].isNull())
+				tagsObject.key = allClustersNodeTagsTag["Key"].asString();
+			if(!allClustersNodeTagsTag["Value"].isNull())
+				tagsObject.value = allClustersNodeTagsTag["Value"].asString();
+			clustersObject.tags.push_back(tagsObject);
+		}
 		clusters_.push_back(clustersObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 80 - 0
cassandra/src/model/ListTagResourcesRequest.cc

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cassandra/model/ListTagResourcesRequest.h>
+
+using AlibabaCloud::Cassandra::Model::ListTagResourcesRequest;
+
+ListTagResourcesRequest::ListTagResourcesRequest() :
+	RpcServiceRequest("cassandra", "2019-01-01", "ListTagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListTagResourcesRequest::~ListTagResourcesRequest()
+{}
+
+std::string ListTagResourcesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListTagResourcesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ListTagResourcesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListTagResourcesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+std::vector<ListTagResourcesRequest::Tag> ListTagResourcesRequest::getTag()const
+{
+	return tag_;
+}
+
+void ListTagResourcesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
+std::vector<std::string> ListTagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void ListTagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+

+ 70 - 0
cassandra/src/model/ListTagResourcesResult.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/cassandra/model/ListTagResourcesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cassandra;
+using namespace AlibabaCloud::Cassandra::Model;
+
+ListTagResourcesResult::ListTagResourcesResult() :
+	ServiceResult()
+{}
+
+ListTagResourcesResult::ListTagResourcesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListTagResourcesResult::~ListTagResourcesResult()
+{}
+
+void ListTagResourcesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTagResourcesNode = value["TagResources"]["TagResource"];
+	for (auto valueTagResourcesTagResource : allTagResourcesNode)
+	{
+		TagResource tagResourcesObject;
+		if(!valueTagResourcesTagResource["TagKey"].isNull())
+			tagResourcesObject.tagKey = valueTagResourcesTagResource["TagKey"].asString();
+		if(!valueTagResourcesTagResource["TagValue"].isNull())
+			tagResourcesObject.tagValue = valueTagResourcesTagResource["TagValue"].asString();
+		if(!valueTagResourcesTagResource["ResourceType"].isNull())
+			tagResourcesObject.resourceType = valueTagResourcesTagResource["ResourceType"].asString();
+		if(!valueTagResourcesTagResource["ResourceId"].isNull())
+			tagResourcesObject.resourceId = valueTagResourcesTagResource["ResourceId"].asString();
+		tagResources_.push_back(tagResourcesObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string ListTagResourcesResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<ListTagResourcesResult::TagResource> ListTagResourcesResult::getTagResources()const
+{
+	return tagResources_;
+}
+

+ 40 - 0
cassandra/src/model/ListTagsRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/cassandra/model/ListTagsRequest.h>
+
+using AlibabaCloud::Cassandra::Model::ListTagsRequest;
+
+ListTagsRequest::ListTagsRequest() :
+	RpcServiceRequest("cassandra", "2019-01-01", "ListTags")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListTagsRequest::~ListTagsRequest()
+{}
+
+std::string ListTagsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListTagsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+

+ 59 - 0
cassandra/src/model/ListTagsResult.cc

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

+ 69 - 0
cassandra/src/model/TagResourcesRequest.cc

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cassandra/model/TagResourcesRequest.h>
+
+using AlibabaCloud::Cassandra::Model::TagResourcesRequest;
+
+TagResourcesRequest::TagResourcesRequest() :
+	RpcServiceRequest("cassandra", "2019-01-01", "TagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+TagResourcesRequest::~TagResourcesRequest()
+{}
+
+std::vector<std::string> TagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void TagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+std::string TagResourcesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void TagResourcesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::vector<TagResourcesRequest::Tag> TagResourcesRequest::getTag()const
+{
+	return tag_;
+}
+
+void TagResourcesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+

+ 44 - 0
cassandra/src/model/TagResourcesResult.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/cassandra/model/TagResourcesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cassandra;
+using namespace AlibabaCloud::Cassandra::Model;
+
+TagResourcesResult::TagResourcesResult() :
+	ServiceResult()
+{}
+
+TagResourcesResult::TagResourcesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+TagResourcesResult::~TagResourcesResult()
+{}
+
+void TagResourcesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 77 - 0
cassandra/src/model/UnTagResourcesRequest.cc

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cassandra/model/UnTagResourcesRequest.h>
+
+using AlibabaCloud::Cassandra::Model::UnTagResourcesRequest;
+
+UnTagResourcesRequest::UnTagResourcesRequest() :
+	RpcServiceRequest("cassandra", "2019-01-01", "UnTagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UnTagResourcesRequest::~UnTagResourcesRequest()
+{}
+
+std::string UnTagResourcesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void UnTagResourcesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool UnTagResourcesRequest::getAll()const
+{
+	return all_;
+}
+
+void UnTagResourcesRequest::setAll(bool all)
+{
+	all_ = all;
+	setParameter("All", all ? "true" : "false");
+}
+
+std::vector<std::string> UnTagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void UnTagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+std::vector<std::string> UnTagResourcesRequest::getTagKey()const
+{
+	return tagKey_;
+}
+
+void UnTagResourcesRequest::setTagKey(const std::vector<std::string>& tagKey)
+{
+	tagKey_ = tagKey;
+	for(int dep1 = 0; dep1!= tagKey.size(); dep1++) {
+		setParameter("TagKey."+ std::to_string(dep1), tagKey.at(dep1));
+	}
+}
+

+ 44 - 0
cassandra/src/model/UnTagResourcesResult.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/cassandra/model/UnTagResourcesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cassandra;
+using namespace AlibabaCloud::Cassandra::Model;
+
+UnTagResourcesResult::UnTagResourcesResult() :
+	ServiceResult()
+{}
+
+UnTagResourcesResult::UnTagResourcesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UnTagResourcesResult::~UnTagResourcesResult()
+{}
+
+void UnTagResourcesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+