瀏覽代碼

Support TagPolicy Verify NoTag.

sdk-team 3 年之前
父節點
當前提交
9f61515774
共有 38 個文件被更改,包括 858 次插入4 次删除
  1. 1 1
      VERSION
  2. 8 0
      ecs/CMakeLists.txt
  3. 16 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 7 0
      ecs/include/alibabacloud/ecs/model/CreateActivationRequest.h
  5. 3 0
      ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h
  6. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeActivationsRequest.h
  7. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeActivationsResult.h
  8. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h
  9. 10 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
  10. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeManagedInstancesRequest.h
  11. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeManagedInstancesResult.h
  12. 3 0
      ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h
  13. 57 0
      ecs/include/alibabacloud/ecs/model/DescribeReservedInstanceAutoRenewAttributeRequest.h
  14. 58 0
      ecs/include/alibabacloud/ecs/model/DescribeReservedInstanceAutoRenewAttributeResult.h
  15. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsRequest.h
  16. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsResult.h
  17. 66 0
      ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAutoRenewAttributeRequest.h
  18. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAutoRenewAttributeResult.h
  19. 8 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  20. 7 0
      ecs/include/alibabacloud/ecs/model/SendFileRequest.h
  21. 75 3
      ecs/src/EcsClient.cc
  22. 14 0
      ecs/src/model/CreateActivationRequest.cc
  23. 3 0
      ecs/src/model/CreateAutoProvisioningGroupRequest.cc
  24. 14 0
      ecs/src/model/DescribeActivationsRequest.cc
  25. 10 0
      ecs/src/model/DescribeActivationsResult.cc
  26. 9 0
      ecs/src/model/DescribeDedicatedHostsRequest.cc
  27. 18 0
      ecs/src/model/DescribeDedicatedHostsResult.cc
  28. 14 0
      ecs/src/model/DescribeManagedInstancesRequest.cc
  29. 10 0
      ecs/src/model/DescribeManagedInstancesResult.cc
  30. 9 0
      ecs/src/model/DescribePriceRequest.cc
  31. 80 0
      ecs/src/model/DescribeReservedInstanceAutoRenewAttributeRequest.cc
  32. 63 0
      ecs/src/model/DescribeReservedInstanceAutoRenewAttributeResult.cc
  33. 14 0
      ecs/src/model/DescribeSendFileResultsRequest.cc
  34. 10 0
      ecs/src/model/DescribeSendFileResultsResult.cc
  35. 107 0
      ecs/src/model/ModifyReservedInstanceAutoRenewAttributeRequest.cc
  36. 44 0
      ecs/src/model/ModifyReservedInstanceAutoRenewAttributeResult.cc
  37. 15 0
      ecs/src/model/RunInstancesRequest.cc
  38. 14 0
      ecs/src/model/SendFileRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1447
+1.36.1448

+ 8 - 0
ecs/CMakeLists.txt

@@ -391,6 +391,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeRegionsResult.h
 	include/alibabacloud/ecs/model/DescribeRenewalPriceRequest.h
 	include/alibabacloud/ecs/model/DescribeRenewalPriceResult.h
+	include/alibabacloud/ecs/model/DescribeReservedInstanceAutoRenewAttributeRequest.h
+	include/alibabacloud/ecs/model/DescribeReservedInstanceAutoRenewAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeReservedInstancesRequest.h
 	include/alibabacloud/ecs/model/DescribeReservedInstancesResult.h
 	include/alibabacloud/ecs/model/DescribeResourceByTagsRequest.h
@@ -589,6 +591,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecResult.h
 	include/alibabacloud/ecs/model/ModifyReservedInstanceAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyReservedInstanceAttributeResult.h
+	include/alibabacloud/ecs/model/ModifyReservedInstanceAutoRenewAttributeRequest.h
+	include/alibabacloud/ecs/model/ModifyReservedInstanceAutoRenewAttributeResult.h
 	include/alibabacloud/ecs/model/ModifyReservedInstancesRequest.h
 	include/alibabacloud/ecs/model/ModifyReservedInstancesResult.h
 	include/alibabacloud/ecs/model/ModifyRouterInterfaceAttributeRequest.h
@@ -1082,6 +1086,8 @@ set(ecs_src
 	src/model/DescribeRegionsResult.cc
 	src/model/DescribeRenewalPriceRequest.cc
 	src/model/DescribeRenewalPriceResult.cc
+	src/model/DescribeReservedInstanceAutoRenewAttributeRequest.cc
+	src/model/DescribeReservedInstanceAutoRenewAttributeResult.cc
 	src/model/DescribeReservedInstancesRequest.cc
 	src/model/DescribeReservedInstancesResult.cc
 	src/model/DescribeResourceByTagsRequest.cc
@@ -1280,6 +1286,8 @@ set(ecs_src
 	src/model/ModifyPrepayInstanceSpecResult.cc
 	src/model/ModifyReservedInstanceAttributeRequest.cc
 	src/model/ModifyReservedInstanceAttributeResult.cc
+	src/model/ModifyReservedInstanceAutoRenewAttributeRequest.cc
+	src/model/ModifyReservedInstanceAutoRenewAttributeResult.cc
 	src/model/ModifyReservedInstancesRequest.cc
 	src/model/ModifyReservedInstancesResult.cc
 	src/model/ModifyRouterInterfaceAttributeRequest.cc

+ 16 - 0
ecs/include/alibabacloud/ecs/EcsClient.h

@@ -392,6 +392,8 @@
 #include "model/DescribeRegionsResult.h"
 #include "model/DescribeRenewalPriceRequest.h"
 #include "model/DescribeRenewalPriceResult.h"
+#include "model/DescribeReservedInstanceAutoRenewAttributeRequest.h"
+#include "model/DescribeReservedInstanceAutoRenewAttributeResult.h"
 #include "model/DescribeReservedInstancesRequest.h"
 #include "model/DescribeReservedInstancesResult.h"
 #include "model/DescribeResourceByTagsRequest.h"
@@ -590,6 +592,8 @@
 #include "model/ModifyPrepayInstanceSpecResult.h"
 #include "model/ModifyReservedInstanceAttributeRequest.h"
 #include "model/ModifyReservedInstanceAttributeResult.h"
+#include "model/ModifyReservedInstanceAutoRenewAttributeRequest.h"
+#include "model/ModifyReservedInstanceAutoRenewAttributeResult.h"
 #include "model/ModifyReservedInstancesRequest.h"
 #include "model/ModifyReservedInstancesResult.h"
 #include "model/ModifyRouterInterfaceAttributeRequest.h"
@@ -1274,6 +1278,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeRenewalPriceResult> DescribeRenewalPriceOutcome;
 			typedef std::future<DescribeRenewalPriceOutcome> DescribeRenewalPriceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeRenewalPriceRequest&, const DescribeRenewalPriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRenewalPriceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeReservedInstanceAutoRenewAttributeResult> DescribeReservedInstanceAutoRenewAttributeOutcome;
+			typedef std::future<DescribeReservedInstanceAutoRenewAttributeOutcome> DescribeReservedInstanceAutoRenewAttributeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeReservedInstanceAutoRenewAttributeRequest&, const DescribeReservedInstanceAutoRenewAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeReservedInstanceAutoRenewAttributeAsyncHandler;
 			typedef Outcome<Error, Model::DescribeReservedInstancesResult> DescribeReservedInstancesOutcome;
 			typedef std::future<DescribeReservedInstancesOutcome> DescribeReservedInstancesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeReservedInstancesRequest&, const DescribeReservedInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeReservedInstancesAsyncHandler;
@@ -1571,6 +1578,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyReservedInstanceAttributeResult> ModifyReservedInstanceAttributeOutcome;
 			typedef std::future<ModifyReservedInstanceAttributeOutcome> ModifyReservedInstanceAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyReservedInstanceAttributeRequest&, const ModifyReservedInstanceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyReservedInstanceAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ModifyReservedInstanceAutoRenewAttributeResult> ModifyReservedInstanceAutoRenewAttributeOutcome;
+			typedef std::future<ModifyReservedInstanceAutoRenewAttributeOutcome> ModifyReservedInstanceAutoRenewAttributeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyReservedInstanceAutoRenewAttributeRequest&, const ModifyReservedInstanceAutoRenewAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyReservedInstanceAutoRenewAttributeAsyncHandler;
 			typedef Outcome<Error, Model::ModifyReservedInstancesResult> ModifyReservedInstancesOutcome;
 			typedef std::future<ModifyReservedInstancesOutcome> ModifyReservedInstancesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyReservedInstancesRequest&, const ModifyReservedInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyReservedInstancesAsyncHandler;
@@ -2311,6 +2321,9 @@ namespace AlibabaCloud
 			DescribeRenewalPriceOutcome describeRenewalPrice(const Model::DescribeRenewalPriceRequest &request)const;
 			void describeRenewalPriceAsync(const Model::DescribeRenewalPriceRequest& request, const DescribeRenewalPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRenewalPriceOutcomeCallable describeRenewalPriceCallable(const Model::DescribeRenewalPriceRequest& request) const;
+			DescribeReservedInstanceAutoRenewAttributeOutcome describeReservedInstanceAutoRenewAttribute(const Model::DescribeReservedInstanceAutoRenewAttributeRequest &request)const;
+			void describeReservedInstanceAutoRenewAttributeAsync(const Model::DescribeReservedInstanceAutoRenewAttributeRequest& request, const DescribeReservedInstanceAutoRenewAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeReservedInstanceAutoRenewAttributeOutcomeCallable describeReservedInstanceAutoRenewAttributeCallable(const Model::DescribeReservedInstanceAutoRenewAttributeRequest& request) const;
 			DescribeReservedInstancesOutcome describeReservedInstances(const Model::DescribeReservedInstancesRequest &request)const;
 			void describeReservedInstancesAsync(const Model::DescribeReservedInstancesRequest& request, const DescribeReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeReservedInstancesOutcomeCallable describeReservedInstancesCallable(const Model::DescribeReservedInstancesRequest& request) const;
@@ -2608,6 +2621,9 @@ namespace AlibabaCloud
 			ModifyReservedInstanceAttributeOutcome modifyReservedInstanceAttribute(const Model::ModifyReservedInstanceAttributeRequest &request)const;
 			void modifyReservedInstanceAttributeAsync(const Model::ModifyReservedInstanceAttributeRequest& request, const ModifyReservedInstanceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyReservedInstanceAttributeOutcomeCallable modifyReservedInstanceAttributeCallable(const Model::ModifyReservedInstanceAttributeRequest& request) const;
+			ModifyReservedInstanceAutoRenewAttributeOutcome modifyReservedInstanceAutoRenewAttribute(const Model::ModifyReservedInstanceAutoRenewAttributeRequest &request)const;
+			void modifyReservedInstanceAutoRenewAttributeAsync(const Model::ModifyReservedInstanceAutoRenewAttributeRequest& request, const ModifyReservedInstanceAutoRenewAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyReservedInstanceAutoRenewAttributeOutcomeCallable modifyReservedInstanceAutoRenewAttributeCallable(const Model::ModifyReservedInstanceAutoRenewAttributeRequest& request) const;
 			ModifyReservedInstancesOutcome modifyReservedInstances(const Model::ModifyReservedInstancesRequest &request)const;
 			void modifyReservedInstancesAsync(const Model::ModifyReservedInstancesRequest& request, const ModifyReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyReservedInstancesOutcomeCallable modifyReservedInstancesCallable(const Model::ModifyReservedInstancesRequest& request) const;

+ 7 - 0
ecs/include/alibabacloud/ecs/model/CreateActivationRequest.h

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT CreateActivationRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string key;
+		std::string value;
+	};
 	CreateActivationRequest();
 	~CreateActivationRequest();
 	long getResourceOwnerId() const;
@@ -38,6 +42,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	int getInstanceCount() const;
 	void setInstanceCount(int instanceCount);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -56,6 +62,7 @@ private:
 	std::string description_;
 	std::string regionId_;
 	int instanceCount_;
+	std::vector<Tag> tag_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

+ 3 - 0
ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h

@@ -62,6 +62,9 @@ public:
 		int priority;
 		std::string instanceType;
 		double weightedCapacity;
+		int maxQuantity;
+		std::string instanceFamilyLevel;
+		std::string burstablePerformance;
 	};
 	struct LaunchConfigurationTag {
 		std::string key;

+ 7 - 0
ecs/include/alibabacloud/ecs/model/DescribeActivationsRequest.h

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DescribeActivationsRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string key;
+		std::string value;
+	};
 	DescribeActivationsRequest();
 	~DescribeActivationsRequest();
 	long getResourceOwnerId() const;
@@ -38,6 +42,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	long getPageSize() const;
 	void setPageSize(long pageSize);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -54,6 +60,7 @@ private:
 	long pageNumber_;
 	std::string regionId_;
 	long pageSize_;
+	std::vector<Tag> tag_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeActivationsResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Activation
 				{
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string instanceName;
 					int deregisteredCount;
 					int instanceCount;
@@ -44,6 +49,7 @@ namespace AlibabaCloud
 					long timeToLiveInHours;
 					bool disabled;
 					std::string ipAddressRange;
+					std::vector<Activation::Tag> tags;
 				};
 
 

+ 3 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h

@@ -38,6 +38,8 @@ public:
 	void setDedicatedHostIds(const std::string &dedicatedHostIds);
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
+	std::string getSocketDetails() const;
+	void setSocketDetails(const std::string &socketDetails);
 	int getPageNumber() const;
 	void setPageNumber(int pageNumber);
 	std::string getResourceGroupId() const;
@@ -72,6 +74,7 @@ public:
 private:
 	std::string dedicatedHostIds_;
 	long resourceOwnerId_;
+	std::string socketDetails_;
 	int pageNumber_;
 	std::string resourceGroupId_;
 	std::string lockReason_;

+ 10 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h

@@ -36,9 +36,18 @@ namespace AlibabaCloud
 				{
 					struct Capacity
 					{
+						struct SocketCapacity
+						{
+							int socketId;
+							float availableMemory;
+							float totalMemory;
+							int totalVcpu;
+							int availableVcpu;
+						};
 						std::string localStorageCategory;
 						int availableVgpus;
 						int totalVgpus;
+						std::vector<SocketCapacity> socketCapacities;
 						float availableMemory;
 						float totalMemory;
 						int availableVcpus;
@@ -58,6 +67,7 @@ namespace AlibabaCloud
 					struct Instance
 					{
 						std::string instanceId;
+						std::string socketId;
 						std::string instanceType;
 					};
 					struct OperationLock

+ 7 - 0
ecs/include/alibabacloud/ecs/model/DescribeManagedInstancesRequest.h

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DescribeManagedInstancesRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string key;
+		std::string value;
+	};
 	DescribeManagedInstancesRequest();
 	~DescribeManagedInstancesRequest();
 	long getResourceOwnerId() const;
@@ -38,6 +42,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	long getPageSize() const;
 	void setPageSize(long pageSize);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -60,6 +66,7 @@ private:
 	long pageNumber_;
 	std::string regionId_;
 	long pageSize_;
+	std::vector<Tag> tag_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	std::string osType_;

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeManagedInstancesResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Instance
 				{
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string machineId;
 					bool connected;
 					std::string instanceId;
@@ -48,6 +53,7 @@ namespace AlibabaCloud
 					std::string internetIp;
 					std::string osType;
 					std::string lastInvokedTime;
+					std::vector<Instance::Tag> tags;
 				};
 
 

+ 3 - 0
ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h

@@ -93,6 +93,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	std::string getScope() const;
 	void setScope(const std::string &scope);
+	std::string getSchedulerOptionsDedicatedHostId() const;
+	void setSchedulerOptionsDedicatedHostId(const std::string &schedulerOptionsDedicatedHostId);
 	std::string getInstanceType() const;
 	void setInstanceType(const std::string &instanceType);
 	std::string getDedicatedHostType() const;
@@ -154,6 +156,7 @@ private:
 	std::string dataDisk4PerformanceLevel_;
 	std::string regionId_;
 	std::string scope_;
+	std::string schedulerOptionsDedicatedHostId_;
 	std::string instanceType_;
 	std::string dedicatedHostType_;
 	std::string dataDisk2Category_;

+ 57 - 0
ecs/include/alibabacloud/ecs/model/DescribeReservedInstanceAutoRenewAttributeRequest.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_ECS_MODEL_DESCRIBERESERVEDINSTANCEAUTORENEWATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBERESERVEDINSTANCEAUTORENEWATTRIBUTEREQUEST_H_
+
+#include <alibabacloud/ecs/EcsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ecs {
+namespace Model {
+class ALIBABACLOUD_ECS_EXPORT DescribeReservedInstanceAutoRenewAttributeRequest : public RpcServiceRequest {
+public:
+	DescribeReservedInstanceAutoRenewAttributeRequest();
+	~DescribeReservedInstanceAutoRenewAttributeRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::vector<std::string> getReservedInstanceId() const;
+	void setReservedInstanceId(const std::vector<std::string> &reservedInstanceId);
+
+private:
+	long resourceOwnerId_;
+	std::string regionId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::vector<std::string> reservedInstanceId_;
+};
+} // namespace Model
+} // namespace Ecs
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBERESERVEDINSTANCEAUTORENEWATTRIBUTEREQUEST_H_

+ 58 - 0
ecs/include/alibabacloud/ecs/model/DescribeReservedInstanceAutoRenewAttributeResult.h

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

+ 7 - 0
ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsRequest.h

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DescribeSendFileResultsRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string key;
+		std::string value;
+	};
 	DescribeSendFileResultsRequest();
 	~DescribeSendFileResultsRequest();
 	long getResourceOwnerId() const;
@@ -40,6 +44,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	long getPageSize() const;
 	void setPageSize(long pageSize);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	std::string getInvokeId() const;
 	void setInvokeId(const std::string &invokeId);
 	std::string getResourceOwnerAccount() const;
@@ -59,6 +65,7 @@ private:
 	std::string resourceGroupId_;
 	std::string regionId_;
 	long pageSize_;
+	std::vector<Tag> tag_;
 	std::string invokeId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsResult.h

@@ -45,6 +45,11 @@ namespace AlibabaCloud
 						std::string updateTime;
 						std::string errorCode;
 					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string fileMode;
 					std::string invocationStatus;
 					std::string overwrite;
@@ -58,6 +63,7 @@ namespace AlibabaCloud
 					std::string name;
 					std::string content;
 					std::string creationTime;
+					std::vector<Invocation::Tag> tags;
 					std::string invokeId;
 				};
 

+ 66 - 0
ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAutoRenewAttributeRequest.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_ECS_MODEL_MODIFYRESERVEDINSTANCEAUTORENEWATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEAUTORENEWATTRIBUTEREQUEST_H_
+
+#include <alibabacloud/ecs/EcsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ecs {
+namespace Model {
+class ALIBABACLOUD_ECS_EXPORT ModifyReservedInstanceAutoRenewAttributeRequest : public RpcServiceRequest {
+public:
+	ModifyReservedInstanceAutoRenewAttributeRequest();
+	~ModifyReservedInstanceAutoRenewAttributeRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getRenewalStatus() const;
+	void setRenewalStatus(const std::string &renewalStatus);
+	int getPeriod() const;
+	void setPeriod(int period);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getPeriodUnit() const;
+	void setPeriodUnit(const std::string &periodUnit);
+	std::vector<std::string> getReservedInstanceId() const;
+	void setReservedInstanceId(const std::vector<std::string> &reservedInstanceId);
+
+private:
+	long resourceOwnerId_;
+	std::string regionId_;
+	std::string renewalStatus_;
+	int period_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string periodUnit_;
+	std::vector<std::string> reservedInstanceId_;
+};
+} // namespace Model
+} // namespace Ecs
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEAUTORENEWATTRIBUTEREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAutoRenewAttributeResult.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_ECS_MODEL_MODIFYRESERVEDINSTANCEAUTORENEWATTRIBUTERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEAUTORENEWATTRIBUTERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT ModifyReservedInstanceAutoRenewAttributeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyReservedInstanceAutoRenewAttributeResult();
+				explicit ModifyReservedInstanceAutoRenewAttributeResult(const std::string &payload);
+				~ModifyReservedInstanceAutoRenewAttributeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEAUTORENEWATTRIBUTERESULT_H_

+ 8 - 0
ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h

@@ -39,6 +39,11 @@ public:
 	struct ImageOptions {
 		bool loginAsNonRoot;
 	};
+	struct SystemTag {
+		std::string key;
+		std::string value;
+		std::string scope;
+	};
 	struct Arn {
 		std::string roleType;
 		std::string rolearn;
@@ -134,6 +139,8 @@ public:
 	void setSpotInterruptionBehavior(const std::string &spotInterruptionBehavior);
 	int getNetworkInterfaceQueueNumber() const;
 	void setNetworkInterfaceQueueNumber(int networkInterfaceQueueNumber);
+	std::vector<SystemTag> getSystemTag() const;
+	void setSystemTag(const std::vector<SystemTag> &systemTag);
 	std::string getIoOptimized() const;
 	void setIoOptimized(const std::string &ioOptimized);
 	std::string getSecurityGroupId() const;
@@ -283,6 +290,7 @@ private:
 	std::string imageId_;
 	std::string spotInterruptionBehavior_;
 	int networkInterfaceQueueNumber_;
+	std::vector<SystemTag> systemTag_;
 	std::string ioOptimized_;
 	std::string securityGroupId_;
 	bool hibernationOptionsConfigured_;

+ 7 - 0
ecs/include/alibabacloud/ecs/model/SendFileRequest.h

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT SendFileRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string key;
+		std::string value;
+	};
 	SendFileRequest();
 	~SendFileRequest();
 	long getResourceOwnerId() const;
@@ -44,6 +48,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	std::string getFileOwner() const;
 	void setFileOwner(const std::string &fileOwner);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	bool getOverwrite() const;
 	void setOverwrite(bool overwrite);
 	std::string getResourceOwnerAccount() const;
@@ -73,6 +79,7 @@ private:
 	std::string resourceGroupId_;
 	std::string regionId_;
 	std::string fileOwner_;
+	std::vector<Tag> tag_;
 	bool overwrite_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;

+ 75 - 3
ecs/src/EcsClient.cc

@@ -31,21 +31,21 @@ EcsClient::EcsClient(const Credentials &credentials, const ClientConfiguration &
 	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, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ecs");
 }
 
 EcsClient::EcsClient(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, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ecs");
 }
 
 EcsClient::EcsClient(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, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ecs");
 }
 
 EcsClient::~EcsClient()
@@ -6711,6 +6711,42 @@ EcsClient::DescribeRenewalPriceOutcomeCallable EcsClient::describeRenewalPriceCa
 	return task->get_future();
 }
 
+EcsClient::DescribeReservedInstanceAutoRenewAttributeOutcome EcsClient::describeReservedInstanceAutoRenewAttribute(const DescribeReservedInstanceAutoRenewAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeReservedInstanceAutoRenewAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeReservedInstanceAutoRenewAttributeOutcome(DescribeReservedInstanceAutoRenewAttributeResult(outcome.result()));
+	else
+		return DescribeReservedInstanceAutoRenewAttributeOutcome(outcome.error());
+}
+
+void EcsClient::describeReservedInstanceAutoRenewAttributeAsync(const DescribeReservedInstanceAutoRenewAttributeRequest& request, const DescribeReservedInstanceAutoRenewAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeReservedInstanceAutoRenewAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeReservedInstanceAutoRenewAttributeOutcomeCallable EcsClient::describeReservedInstanceAutoRenewAttributeCallable(const DescribeReservedInstanceAutoRenewAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeReservedInstanceAutoRenewAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->describeReservedInstanceAutoRenewAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeReservedInstancesOutcome EcsClient::describeReservedInstances(const DescribeReservedInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10275,6 +10311,42 @@ EcsClient::ModifyReservedInstanceAttributeOutcomeCallable EcsClient::modifyReser
 	return task->get_future();
 }
 
+EcsClient::ModifyReservedInstanceAutoRenewAttributeOutcome EcsClient::modifyReservedInstanceAutoRenewAttribute(const ModifyReservedInstanceAutoRenewAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyReservedInstanceAutoRenewAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyReservedInstanceAutoRenewAttributeOutcome(ModifyReservedInstanceAutoRenewAttributeResult(outcome.result()));
+	else
+		return ModifyReservedInstanceAutoRenewAttributeOutcome(outcome.error());
+}
+
+void EcsClient::modifyReservedInstanceAutoRenewAttributeAsync(const ModifyReservedInstanceAutoRenewAttributeRequest& request, const ModifyReservedInstanceAutoRenewAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyReservedInstanceAutoRenewAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyReservedInstanceAutoRenewAttributeOutcomeCallable EcsClient::modifyReservedInstanceAutoRenewAttributeCallable(const ModifyReservedInstanceAutoRenewAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyReservedInstanceAutoRenewAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyReservedInstanceAutoRenewAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyReservedInstancesOutcome EcsClient::modifyReservedInstances(const ModifyReservedInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 14 - 0
ecs/src/model/CreateActivationRequest.cc

@@ -61,6 +61,20 @@ void CreateActivationRequest::setInstanceCount(int instanceCount) {
   setParameter(std::string("InstanceCount"), std::to_string(instanceCount));
 }
 
+std::vector<CreateActivationRequest::Tag> CreateActivationRequest::getTag() const {
+  return tag_;
+}
+
+void CreateActivationRequest::setTag(const std::vector<CreateActivationRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+  auto tagObj = tag.at(dep1);
+  std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
+    setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
+  }
+}
+
 std::string CreateActivationRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 3 - 0
ecs/src/model/CreateAutoProvisioningGroupRequest.cc

@@ -435,6 +435,9 @@ void CreateAutoProvisioningGroupRequest::setLaunchTemplateConfig(const std::vect
     setParameter(launchTemplateConfigObjStr + ".Priority", std::to_string(launchTemplateConfigObj.priority));
     setParameter(launchTemplateConfigObjStr + ".InstanceType", launchTemplateConfigObj.instanceType);
     setParameter(launchTemplateConfigObjStr + ".WeightedCapacity", std::to_string(launchTemplateConfigObj.weightedCapacity));
+    setParameter(launchTemplateConfigObjStr + ".MaxQuantity", std::to_string(launchTemplateConfigObj.maxQuantity));
+    setParameter(launchTemplateConfigObjStr + ".InstanceFamilyLevel", launchTemplateConfigObj.instanceFamilyLevel);
+    setParameter(launchTemplateConfigObjStr + ".BurstablePerformance", launchTemplateConfigObj.burstablePerformance);
   }
 }
 

+ 14 - 0
ecs/src/model/DescribeActivationsRequest.cc

@@ -61,6 +61,20 @@ void DescribeActivationsRequest::setPageSize(long pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<DescribeActivationsRequest::Tag> DescribeActivationsRequest::getTag() const {
+  return tag_;
+}
+
+void DescribeActivationsRequest::setTag(const std::vector<DescribeActivationsRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+  auto tagObj = tag.at(dep1);
+  std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
+    setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
+  }
+}
+
 std::string DescribeActivationsRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 10 - 0
ecs/src/model/DescribeActivationsResult.cc

@@ -63,6 +63,16 @@ void DescribeActivationsResult::parse(const std::string &payload)
 			activationListObject.timeToLiveInHours = std::stol(valueActivationListActivation["TimeToLiveInHours"].asString());
 		if(!valueActivationListActivation["ActivationId"].isNull())
 			activationListObject.activationId = valueActivationListActivation["ActivationId"].asString();
+		auto allTagsNode = valueActivationListActivation["Tags"]["Tag"];
+		for (auto valueActivationListActivationTagsTag : allTagsNode)
+		{
+			Activation::Tag tagsObject;
+			if(!valueActivationListActivationTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = valueActivationListActivationTagsTag["TagKey"].asString();
+			if(!valueActivationListActivationTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = valueActivationListActivationTagsTag["TagValue"].asString();
+			activationListObject.tags.push_back(tagsObject);
+		}
 		activationList_.push_back(activationListObject);
 	}
 	if(!value["PageSize"].isNull())

+ 9 - 0
ecs/src/model/DescribeDedicatedHostsRequest.cc

@@ -43,6 +43,15 @@ void DescribeDedicatedHostsRequest::setResourceOwnerId(long resourceOwnerId) {
   setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
 }
 
+std::string DescribeDedicatedHostsRequest::getSocketDetails() const {
+  return socketDetails_;
+}
+
+void DescribeDedicatedHostsRequest::setSocketDetails(const std::string &socketDetails) {
+  socketDetails_ = socketDetails;
+  setParameter(std::string("SocketDetails"), socketDetails);
+}
+
 int DescribeDedicatedHostsRequest::getPageNumber() const {
   return pageNumber_;
 }

+ 18 - 0
ecs/src/model/DescribeDedicatedHostsResult.cc

@@ -97,6 +97,8 @@ void DescribeDedicatedHostsResult::parse(const std::string &payload)
 				instancesObject.instanceType = valueDedicatedHostsDedicatedHostInstancesInstance["InstanceType"].asString();
 			if(!valueDedicatedHostsDedicatedHostInstancesInstance["InstanceId"].isNull())
 				instancesObject.instanceId = valueDedicatedHostsDedicatedHostInstancesInstance["InstanceId"].asString();
+			if(!valueDedicatedHostsDedicatedHostInstancesInstance["SocketId"].isNull())
+				instancesObject.socketId = valueDedicatedHostsDedicatedHostInstancesInstance["SocketId"].asString();
 			dedicatedHostsObject.instances.push_back(instancesObject);
 		}
 		auto allOperationLocksNode = valueDedicatedHostsDedicatedHost["OperationLocks"]["OperationLock"];
@@ -136,6 +138,22 @@ void DescribeDedicatedHostsResult::parse(const std::string &payload)
 			dedicatedHostsObject.capacity.availableVcpus = std::stoi(capacityNode["AvailableVcpus"].asString());
 		if(!capacityNode["AvailableVgpus"].isNull())
 			dedicatedHostsObject.capacity.availableVgpus = std::stoi(capacityNode["AvailableVgpus"].asString());
+		auto allSocketCapacitiesNode = capacityNode["SocketCapacities"]["SocketCapacity"];
+		for (auto capacityNodeSocketCapacitiesSocketCapacity : allSocketCapacitiesNode)
+		{
+			DedicatedHost::Capacity::SocketCapacity socketCapacityObject;
+			if(!capacityNodeSocketCapacitiesSocketCapacity["SocketId"].isNull())
+				socketCapacityObject.socketId = std::stoi(capacityNodeSocketCapacitiesSocketCapacity["SocketId"].asString());
+			if(!capacityNodeSocketCapacitiesSocketCapacity["AvailableMemory"].isNull())
+				socketCapacityObject.availableMemory = std::stof(capacityNodeSocketCapacitiesSocketCapacity["AvailableMemory"].asString());
+			if(!capacityNodeSocketCapacitiesSocketCapacity["TotalMemory"].isNull())
+				socketCapacityObject.totalMemory = std::stof(capacityNodeSocketCapacitiesSocketCapacity["TotalMemory"].asString());
+			if(!capacityNodeSocketCapacitiesSocketCapacity["AvailableVcpu"].isNull())
+				socketCapacityObject.availableVcpu = std::stoi(capacityNodeSocketCapacitiesSocketCapacity["AvailableVcpu"].asString());
+			if(!capacityNodeSocketCapacitiesSocketCapacity["TotalVcpu"].isNull())
+				socketCapacityObject.totalVcpu = std::stoi(capacityNodeSocketCapacitiesSocketCapacity["TotalVcpu"].asString());
+			dedicatedHostsObject.capacity.socketCapacities.push_back(socketCapacityObject);
+		}
 		auto networkAttributesNode = value["NetworkAttributes"];
 		if(!networkAttributesNode["UdpTimeout"].isNull())
 			dedicatedHostsObject.networkAttributes.udpTimeout = std::stoi(networkAttributesNode["UdpTimeout"].asString());

+ 14 - 0
ecs/src/model/DescribeManagedInstancesRequest.cc

@@ -61,6 +61,20 @@ void DescribeManagedInstancesRequest::setPageSize(long pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<DescribeManagedInstancesRequest::Tag> DescribeManagedInstancesRequest::getTag() const {
+  return tag_;
+}
+
+void DescribeManagedInstancesRequest::setTag(const std::vector<DescribeManagedInstancesRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+  auto tagObj = tag.at(dep1);
+  std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
+    setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
+  }
+}
+
 std::string DescribeManagedInstancesRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 10 - 0
ecs/src/model/DescribeManagedInstancesResult.cc

@@ -71,6 +71,16 @@ void DescribeManagedInstancesResult::parse(const std::string &payload)
 			instancesObject.invocationCount = std::stol(valueInstancesInstance["InvocationCount"].asString());
 		if(!valueInstancesInstance["MachineId"].isNull())
 			instancesObject.machineId = valueInstancesInstance["MachineId"].asString();
+		auto allTagsNode = valueInstancesInstance["Tags"]["Tag"];
+		for (auto valueInstancesInstanceTagsTag : allTagsNode)
+		{
+			Instance::Tag tagsObject;
+			if(!valueInstancesInstanceTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = valueInstancesInstanceTagsTag["TagKey"].asString();
+			if(!valueInstancesInstanceTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = valueInstancesInstanceTagsTag["TagValue"].asString();
+			instancesObject.tags.push_back(tagsObject);
+		}
 		instances_.push_back(instancesObject);
 	}
 	if(!value["PageSize"].isNull())

+ 9 - 0
ecs/src/model/DescribePriceRequest.cc

@@ -285,6 +285,15 @@ void DescribePriceRequest::setScope(const std::string &scope) {
   setParameter(std::string("Scope"), scope);
 }
 
+std::string DescribePriceRequest::getSchedulerOptionsDedicatedHostId() const {
+  return schedulerOptionsDedicatedHostId_;
+}
+
+void DescribePriceRequest::setSchedulerOptionsDedicatedHostId(const std::string &schedulerOptionsDedicatedHostId) {
+  schedulerOptionsDedicatedHostId_ = schedulerOptionsDedicatedHostId;
+  setParameter(std::string("SchedulerOptions.DedicatedHostId"), schedulerOptionsDedicatedHostId);
+}
+
 std::string DescribePriceRequest::getInstanceType() const {
   return instanceType_;
 }

+ 80 - 0
ecs/src/model/DescribeReservedInstanceAutoRenewAttributeRequest.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/ecs/model/DescribeReservedInstanceAutoRenewAttributeRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeReservedInstanceAutoRenewAttributeRequest;
+
+DescribeReservedInstanceAutoRenewAttributeRequest::DescribeReservedInstanceAutoRenewAttributeRequest()
+    : RpcServiceRequest("ecs", "2014-05-26", "DescribeReservedInstanceAutoRenewAttribute") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeReservedInstanceAutoRenewAttributeRequest::~DescribeReservedInstanceAutoRenewAttributeRequest() {}
+
+long DescribeReservedInstanceAutoRenewAttributeRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeReservedInstanceAutoRenewAttributeRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeReservedInstanceAutoRenewAttributeRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeReservedInstanceAutoRenewAttributeRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeReservedInstanceAutoRenewAttributeRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeReservedInstanceAutoRenewAttributeRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeReservedInstanceAutoRenewAttributeRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DescribeReservedInstanceAutoRenewAttributeRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DescribeReservedInstanceAutoRenewAttributeRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeReservedInstanceAutoRenewAttributeRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::vector<std::string> DescribeReservedInstanceAutoRenewAttributeRequest::getReservedInstanceId() const {
+  return reservedInstanceId_;
+}
+
+void DescribeReservedInstanceAutoRenewAttributeRequest::setReservedInstanceId(const std::vector<std::string> &reservedInstanceId) {
+  reservedInstanceId_ = reservedInstanceId;
+}
+

+ 63 - 0
ecs/src/model/DescribeReservedInstanceAutoRenewAttributeResult.cc

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

+ 14 - 0
ecs/src/model/DescribeSendFileResultsRequest.cc

@@ -70,6 +70,20 @@ void DescribeSendFileResultsRequest::setPageSize(long pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<DescribeSendFileResultsRequest::Tag> DescribeSendFileResultsRequest::getTag() const {
+  return tag_;
+}
+
+void DescribeSendFileResultsRequest::setTag(const std::vector<DescribeSendFileResultsRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+  auto tagObj = tag.at(dep1);
+  std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
+    setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
+  }
+}
+
 std::string DescribeSendFileResultsRequest::getInvokeId() const {
   return invokeId_;
 }

+ 10 - 0
ecs/src/model/DescribeSendFileResultsResult.cc

@@ -91,6 +91,16 @@ void DescribeSendFileResultsResult::parse(const std::string &payload)
 				invokeInstancesObject.instanceId = valueInvocationsInvocationInvokeInstancesInvokeInstance["InstanceId"].asString();
 			invocationsObject.invokeInstances.push_back(invokeInstancesObject);
 		}
+		auto allTagsNode = valueInvocationsInvocation["Tags"]["Tag"];
+		for (auto valueInvocationsInvocationTagsTag : allTagsNode)
+		{
+			Invocation::Tag tagsObject;
+			if(!valueInvocationsInvocationTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = valueInvocationsInvocationTagsTag["TagKey"].asString();
+			if(!valueInvocationsInvocationTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = valueInvocationsInvocationTagsTag["TagValue"].asString();
+			invocationsObject.tags.push_back(tagsObject);
+		}
 		invocations_.push_back(invocationsObject);
 	}
 	if(!value["PageSize"].isNull())

+ 107 - 0
ecs/src/model/ModifyReservedInstanceAutoRenewAttributeRequest.cc

@@ -0,0 +1,107 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ecs/model/ModifyReservedInstanceAutoRenewAttributeRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyReservedInstanceAutoRenewAttributeRequest;
+
+ModifyReservedInstanceAutoRenewAttributeRequest::ModifyReservedInstanceAutoRenewAttributeRequest()
+    : RpcServiceRequest("ecs", "2014-05-26", "ModifyReservedInstanceAutoRenewAttribute") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyReservedInstanceAutoRenewAttributeRequest::~ModifyReservedInstanceAutoRenewAttributeRequest() {}
+
+long ModifyReservedInstanceAutoRenewAttributeRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string ModifyReservedInstanceAutoRenewAttributeRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string ModifyReservedInstanceAutoRenewAttributeRequest::getRenewalStatus() const {
+  return renewalStatus_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setRenewalStatus(const std::string &renewalStatus) {
+  renewalStatus_ = renewalStatus;
+  setParameter(std::string("RenewalStatus"), renewalStatus);
+}
+
+int ModifyReservedInstanceAutoRenewAttributeRequest::getPeriod() const {
+  return period_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setPeriod(int period) {
+  period_ = period;
+  setParameter(std::string("Period"), std::to_string(period));
+}
+
+std::string ModifyReservedInstanceAutoRenewAttributeRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string ModifyReservedInstanceAutoRenewAttributeRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long ModifyReservedInstanceAutoRenewAttributeRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string ModifyReservedInstanceAutoRenewAttributeRequest::getPeriodUnit() const {
+  return periodUnit_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setPeriodUnit(const std::string &periodUnit) {
+  periodUnit_ = periodUnit;
+  setParameter(std::string("PeriodUnit"), periodUnit);
+}
+
+std::vector<std::string> ModifyReservedInstanceAutoRenewAttributeRequest::getReservedInstanceId() const {
+  return reservedInstanceId_;
+}
+
+void ModifyReservedInstanceAutoRenewAttributeRequest::setReservedInstanceId(const std::vector<std::string> &reservedInstanceId) {
+  reservedInstanceId_ = reservedInstanceId;
+}
+

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

+ 15 - 0
ecs/src/model/RunInstancesRequest.cc

@@ -273,6 +273,21 @@ void RunInstancesRequest::setNetworkInterfaceQueueNumber(int networkInterfaceQue
   setParameter(std::string("NetworkInterfaceQueueNumber"), std::to_string(networkInterfaceQueueNumber));
 }
 
+std::vector<RunInstancesRequest::SystemTag> RunInstancesRequest::getSystemTag() const {
+  return systemTag_;
+}
+
+void RunInstancesRequest::setSystemTag(const std::vector<RunInstancesRequest::SystemTag> &systemTag) {
+  systemTag_ = systemTag;
+  for(int dep1 = 0; dep1 != systemTag.size(); dep1++) {
+  auto systemTagObj = systemTag.at(dep1);
+  std::string systemTagObjStr = std::string("SystemTag") + "." + std::to_string(dep1 + 1);
+    setParameter(systemTagObjStr + ".Key", systemTagObj.key);
+    setParameter(systemTagObjStr + ".Value", systemTagObj.value);
+    setParameter(systemTagObjStr + ".Scope", systemTagObj.scope);
+  }
+}
+
 std::string RunInstancesRequest::getIoOptimized() const {
   return ioOptimized_;
 }

+ 14 - 0
ecs/src/model/SendFileRequest.cc

@@ -88,6 +88,20 @@ void SendFileRequest::setFileOwner(const std::string &fileOwner) {
   setParameter(std::string("FileOwner"), fileOwner);
 }
 
+std::vector<SendFileRequest::Tag> SendFileRequest::getTag() const {
+  return tag_;
+}
+
+void SendFileRequest::setTag(const std::vector<SendFileRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+  auto tagObj = tag.at(dep1);
+  std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
+    setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
+  }
+}
+
 bool SendFileRequest::getOverwrite() const {
   return overwrite_;
 }