Browse Source

由柏霜发起的ECS SDK自动发布, 版本号:1.6.4

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 years ago
parent
commit
482abf2f25
31 changed files with 1315 additions and 1 deletions
  1. 5 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 8 0
      ecs/CMakeLists.txt
  4. 16 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 126 0
      ecs/include/alibabacloud/ecs/model/AssignPrivateIpAddressesRequest.h
  6. 49 0
      ecs/include/alibabacloud/ecs/model/AssignPrivateIpAddressesResult.h
  7. 3 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h
  8. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h
  9. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceAttributeResult.h
  10. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsRequest.h
  11. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
  12. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesFullStatusRequest.h
  13. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  14. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeZonesResult.h
  15. 3 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  16. 123 0
      ecs/include/alibabacloud/ecs/model/UnassignPrivateIpAddressesRequest.h
  17. 49 0
      ecs/include/alibabacloud/ecs/model/UnassignPrivateIpAddressesResult.h
  18. 72 0
      ecs/src/EcsClient.cc
  19. 325 0
      ecs/src/model/AssignPrivateIpAddressesRequest.cc
  20. 45 0
      ecs/src/model/AssignPrivateIpAddressesResult.cc
  21. 11 0
      ecs/src/model/CreateInstanceRequest.cc
  22. 11 0
      ecs/src/model/DescribeAvailableResourceRequest.cc
  23. 10 0
      ecs/src/model/DescribeInstanceAttributeResult.cc
  24. 24 0
      ecs/src/model/DescribeInstanceHistoryEventsRequest.cc
  25. 7 0
      ecs/src/model/DescribeInstanceHistoryEventsResult.cc
  26. 12 0
      ecs/src/model/DescribeInstancesFullStatusRequest.cc
  27. 5 0
      ecs/src/model/DescribeInstancesResult.cc
  28. 6 0
      ecs/src/model/DescribeZonesResult.cc
  29. 11 0
      ecs/src/model/RunInstancesRequest.cc
  30. 314 0
      ecs/src/model/UnassignPrivateIpAddressesRequest.cc
  31. 45 0
      ecs/src/model/UnassignPrivateIpAddressesResult.cc

+ 5 - 0
CHANGELOG

@@ -1,3 +1,8 @@
+2018-04-23 Version: 1.6.4
+1, DescribeInstanceHistoryEvents adds parameter instanceEventTypes and instanceEventCycleStatuss.
+2, InstanceId parameter is not necessary for DescribeInstanceHistoryEvents now.
+3, DescribeInstancesFullStatus adds parameter instanceEventTypes.
+
 2018-04-23 Version: 1.6.3
 1, Add notificationConfiguration.
 2, Add standby status.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.6.3
+1.6.4

+ 8 - 0
ecs/CMakeLists.txt

@@ -93,6 +93,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DeleteNetworkInterfaceResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceSpecResult.h
+	include/alibabacloud/ecs/model/AssignPrivateIpAddressesRequest.h
+	include/alibabacloud/ecs/model/AssignPrivateIpAddressesResult.h
 	include/alibabacloud/ecs/model/DeleteSnapshotRequest.h
 	include/alibabacloud/ecs/model/DeleteSnapshotResult.h
 	include/alibabacloud/ecs/model/DeleteKeyPairsRequest.h
@@ -307,6 +309,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/LeaveSecurityGroupResult.h
 	include/alibabacloud/ecs/model/DescribeRenewalPriceRequest.h
 	include/alibabacloud/ecs/model/DescribeRenewalPriceResult.h
+	include/alibabacloud/ecs/model/UnassignPrivateIpAddressesRequest.h
+	include/alibabacloud/ecs/model/UnassignPrivateIpAddressesResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceVncPasswdRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceVncPasswdResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeRequest.h
@@ -580,6 +584,8 @@ set(ecs_src
 	src/model/DeleteNetworkInterfaceResult.cc
 	src/model/ModifyInstanceSpecRequest.cc
 	src/model/ModifyInstanceSpecResult.cc
+	src/model/AssignPrivateIpAddressesRequest.cc
+	src/model/AssignPrivateIpAddressesResult.cc
 	src/model/DeleteSnapshotRequest.cc
 	src/model/DeleteSnapshotResult.cc
 	src/model/DeleteKeyPairsRequest.cc
@@ -794,6 +800,8 @@ set(ecs_src
 	src/model/LeaveSecurityGroupResult.cc
 	src/model/DescribeRenewalPriceRequest.cc
 	src/model/DescribeRenewalPriceResult.cc
+	src/model/UnassignPrivateIpAddressesRequest.cc
+	src/model/UnassignPrivateIpAddressesResult.cc
 	src/model/DescribeInstanceVncPasswdRequest.cc
 	src/model/DescribeInstanceVncPasswdResult.cc
 	src/model/DescribeInstanceAutoRenewAttributeRequest.cc

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

@@ -94,6 +94,8 @@
 #include "model/DeleteNetworkInterfaceResult.h"
 #include "model/ModifyInstanceSpecRequest.h"
 #include "model/ModifyInstanceSpecResult.h"
+#include "model/AssignPrivateIpAddressesRequest.h"
+#include "model/AssignPrivateIpAddressesResult.h"
 #include "model/DeleteSnapshotRequest.h"
 #include "model/DeleteSnapshotResult.h"
 #include "model/DeleteKeyPairsRequest.h"
@@ -308,6 +310,8 @@
 #include "model/LeaveSecurityGroupResult.h"
 #include "model/DescribeRenewalPriceRequest.h"
 #include "model/DescribeRenewalPriceResult.h"
+#include "model/UnassignPrivateIpAddressesRequest.h"
+#include "model/UnassignPrivateIpAddressesResult.h"
 #include "model/DescribeInstanceVncPasswdRequest.h"
 #include "model/DescribeInstanceVncPasswdResult.h"
 #include "model/DescribeInstanceAutoRenewAttributeRequest.h"
@@ -623,6 +627,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyInstanceSpecResult> ModifyInstanceSpecOutcome;
 			typedef std::future<ModifyInstanceSpecOutcome> ModifyInstanceSpecOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceSpecRequest&, const ModifyInstanceSpecOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceSpecAsyncHandler;
+			typedef Outcome<Error, Model::AssignPrivateIpAddressesResult> AssignPrivateIpAddressesOutcome;
+			typedef std::future<AssignPrivateIpAddressesOutcome> AssignPrivateIpAddressesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::AssignPrivateIpAddressesRequest&, const AssignPrivateIpAddressesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AssignPrivateIpAddressesAsyncHandler;
 			typedef Outcome<Error, Model::DeleteSnapshotResult> DeleteSnapshotOutcome;
 			typedef std::future<DeleteSnapshotOutcome> DeleteSnapshotOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteSnapshotRequest&, const DeleteSnapshotOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSnapshotAsyncHandler;
@@ -944,6 +951,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::UnassignPrivateIpAddressesResult> UnassignPrivateIpAddressesOutcome;
+			typedef std::future<UnassignPrivateIpAddressesOutcome> UnassignPrivateIpAddressesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::UnassignPrivateIpAddressesRequest&, const UnassignPrivateIpAddressesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnassignPrivateIpAddressesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceVncPasswdResult> DescribeInstanceVncPasswdOutcome;
 			typedef std::future<DescribeInstanceVncPasswdOutcome> DescribeInstanceVncPasswdOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceVncPasswdRequest&, const DescribeInstanceVncPasswdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceVncPasswdAsyncHandler;
@@ -1354,6 +1364,9 @@ namespace AlibabaCloud
 			ModifyInstanceSpecOutcome modifyInstanceSpec(const Model::ModifyInstanceSpecRequest &request)const;
 			void modifyInstanceSpecAsync(const Model::ModifyInstanceSpecRequest& request, const ModifyInstanceSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceSpecOutcomeCallable modifyInstanceSpecCallable(const Model::ModifyInstanceSpecRequest& request) const;
+			AssignPrivateIpAddressesOutcome assignPrivateIpAddresses(const Model::AssignPrivateIpAddressesRequest &request)const;
+			void assignPrivateIpAddressesAsync(const Model::AssignPrivateIpAddressesRequest& request, const AssignPrivateIpAddressesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AssignPrivateIpAddressesOutcomeCallable assignPrivateIpAddressesCallable(const Model::AssignPrivateIpAddressesRequest& request) const;
 			DeleteSnapshotOutcome deleteSnapshot(const Model::DeleteSnapshotRequest &request)const;
 			void deleteSnapshotAsync(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteSnapshotOutcomeCallable deleteSnapshotCallable(const Model::DeleteSnapshotRequest& request) const;
@@ -1675,6 +1688,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;
+			UnassignPrivateIpAddressesOutcome unassignPrivateIpAddresses(const Model::UnassignPrivateIpAddressesRequest &request)const;
+			void unassignPrivateIpAddressesAsync(const Model::UnassignPrivateIpAddressesRequest& request, const UnassignPrivateIpAddressesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnassignPrivateIpAddressesOutcomeCallable unassignPrivateIpAddressesCallable(const Model::UnassignPrivateIpAddressesRequest& request) const;
 			DescribeInstanceVncPasswdOutcome describeInstanceVncPasswd(const Model::DescribeInstanceVncPasswdRequest &request)const;
 			void describeInstanceVncPasswdAsync(const Model::DescribeInstanceVncPasswdRequest& request, const DescribeInstanceVncPasswdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceVncPasswdOutcomeCallable describeInstanceVncPasswdCallable(const Model::DescribeInstanceVncPasswdRequest& request) const;

+ 126 - 0
ecs/include/alibabacloud/ecs/model/AssignPrivateIpAddressesRequest.h

@@ -0,0 +1,126 @@
+/*
+ * 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_ASSIGNPRIVATEIPADDRESSESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_ASSIGNPRIVATEIPADDRESSESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT AssignPrivateIpAddressesRequest : public RpcServiceRequest
+			{
+
+			public:
+				AssignPrivateIpAddressesRequest();
+				~AssignPrivateIpAddressesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				int getSecondaryPrivateIpAddressCount()const;
+				void setSecondaryPrivateIpAddressCount(int secondaryPrivateIpAddressCount);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::vector<std::string> getPrivateIpAddress()const;
+				void setPrivateIpAddress(const std::vector<std::string>& privateIpAddress);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getNetworkInterfaceId()const;
+				void setNetworkInterfaceId(const std::string& networkInterfaceId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				int secondaryPrivateIpAddressCount_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::vector<std::string> privateIpAddress_;
+				std::string requestId_;
+				std::string networkInterfaceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_ASSIGNPRIVATEIPADDRESSESREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/AssignPrivateIpAddressesResult.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_ASSIGNPRIVATEIPADDRESSESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_ASSIGNPRIVATEIPADDRESSESRESULT_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 AssignPrivateIpAddressesResult : public ServiceResult
+			{
+			public:
+
+
+				AssignPrivateIpAddressesResult();
+				explicit AssignPrivateIpAddressesResult(const std::string &payload);
+				~AssignPrivateIpAddressesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_ASSIGNPRIVATEIPADDRESSESRESULT_H_

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

@@ -144,6 +144,8 @@ namespace AlibabaCloud
 				void setSystemDiskDiskName(const std::string& systemDiskDiskName);
 				std::string getRamRoleName()const;
 				void setRamRoleName(const std::string& ramRoleName);
+				std::string getDedicatedHostId()const;
+				void setDedicatedHostId(const std::string& dedicatedHostId);
 				std::string getClusterId()const;
 				void setClusterId(const std::string& clusterId);
 				std::vector<DataDisk> getDataDisk()const;
@@ -209,6 +211,7 @@ namespace AlibabaCloud
 				std::string ownerAccount_;
 				std::string systemDiskDiskName_;
 				std::string ramRoleName_;
+				std::string dedicatedHostId_;
 				std::string clusterId_;
 				std::vector<DataDisk> dataDisk_;
 				std::string tag5Value_;

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

@@ -83,6 +83,8 @@ namespace AlibabaCloud
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getDedicatedHostId()const;
+				void setDedicatedHostId(const std::string& dedicatedHostId);
 				std::string getCallerBid()const;
 				void setCallerBid(const std::string& callerBid);
 				long getOwnerId()const;
@@ -127,6 +129,7 @@ namespace AlibabaCloud
 				std::string app_ip_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
+				std::string dedicatedHostId_;
 				std::string callerBid_;
 				long ownerId_;
 				bool proxy_trust_transport_info_;

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

@@ -46,6 +46,11 @@ namespace AlibabaCloud
 					std::string ipAddress;
 					std::string internetChargeType;
 				};
+				struct DedicatedHostAttribute
+				{
+					std::string dedicatedHostId;
+					std::string dedicatedHostName;
+				};
 				struct LockReason
 				{
 					std::string lockReason;
@@ -74,6 +79,7 @@ namespace AlibabaCloud
 				std::string getInstanceId()const;
 				std::string getClusterId()const;
 				std::string getStoppedMode()const;
+				DedicatedHostAttribute getDedicatedHostAttribute()const;
 				VpcAttributes getVpcAttributes()const;
 				std::vector<std::string> getSecurityGroupIds()const;
 				std::vector<LockReason> getOperationLocks()const;
@@ -107,6 +113,7 @@ namespace AlibabaCloud
 				std::string instanceId_;
 				std::string clusterId_;
 				std::string stoppedMode_;
+				DedicatedHostAttribute dedicatedHostAttribute_;
 				VpcAttributes vpcAttributes_;
 				std::vector<std::string> securityGroupIds_;
 				std::vector<LockReason> operationLocks_;

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

@@ -69,6 +69,8 @@ namespace AlibabaCloud
 				void setPageSize(int pageSize);
 				std::string getCallerBidEmail()const;
 				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::vector<std::string> getInstanceEventCycleStatus()const;
+				void setInstanceEventCycleStatus(const std::vector<std::string>& instanceEventCycleStatus);
 				std::string getCallerUidEmail()const;
 				void setCallerUidEmail(const std::string& callerUidEmail);
 				std::string getEventPublishTimeEnd()const;
@@ -77,6 +79,8 @@ namespace AlibabaCloud
 				void setCallerUid(long callerUid);
 				std::string getApp_ip()const;
 				void setApp_ip(const std::string& app_ip);
+				std::vector<std::string> getInstanceEventType()const;
+				void setInstanceEventType(const std::vector<std::string>& instanceEventType);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
@@ -122,10 +126,12 @@ namespace AlibabaCloud
 				std::string requestContent_;
 				int pageSize_;
 				std::string callerBidEmail_;
+				std::vector<std::string> instanceEventCycleStatus_;
 				std::string callerUidEmail_;
 				std::string eventPublishTimeEnd_;
 				long callerUid_;
 				std::string app_ip_;
+				std::vector<std::string> instanceEventType_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string notBeforeStart_;

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

@@ -39,6 +39,13 @@ namespace AlibabaCloud
 						int code;
 						std::string name;
 					};
+					struct EventCycleStatus
+					{
+						int code;
+						std::string name;
+					};
+					std::string eventFinishTime;
+					EventCycleStatus eventCycleStatus;
 					std::string eventPublishTime;
 					EventType eventType;
 					std::string instanceId;

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

@@ -75,6 +75,8 @@ namespace AlibabaCloud
 				void setCallerUid(long callerUid);
 				std::string getApp_ip()const;
 				void setApp_ip(const std::string& app_ip);
+				std::vector<std::string> getInstanceEventType()const;
+				void setInstanceEventType(const std::vector<std::string>& instanceEventType);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
@@ -127,6 +129,7 @@ namespace AlibabaCloud
 				std::string eventPublishTimeEnd_;
 				long callerUid_;
 				std::string app_ip_;
+				std::vector<std::string> instanceEventType_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string notBeforeStart_;

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

@@ -49,6 +49,11 @@ namespace AlibabaCloud
 						bool isSupportUnassociate;
 						std::string internetChargeType;
 					};
+					struct DedicatedHostAttribute
+					{
+						std::string dedicatedHostId;
+						std::string dedicatedHostName;
+					};
 					struct NetworkInterface
 					{
 						std::string primaryIpAddress;
@@ -108,6 +113,7 @@ namespace AlibabaCloud
 					std::string zoneId;
 					std::string clusterId;
 					std::string hpcClusterId;
+					DedicatedHostAttribute dedicatedHostAttribute;
 					int gPUAmount;
 					std::vector<Instance::LockReason> operationLocks;
 					std::vector<std::string> rdmaIpAddress;

+ 2 - 0
ecs/include/alibabacloud/ecs/model/DescribeZonesResult.h

@@ -44,8 +44,10 @@ namespace AlibabaCloud
 						std::vector<std::string> instanceTypeFamilies;
 						std::vector<std::string> dataDiskCategories;
 					};
+					std::vector<std::string> dedicatedHostGenerations;
 					std::vector<std::string> availableInstanceTypes;
 					std::string zoneId;
+					std::vector<std::string> availableDedicatedHostTypes;
 					std::vector<Zone::ResourcesInfo> availableResources;
 					std::vector<std::string> availableDiskCategories;
 					std::string localName;

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

@@ -160,6 +160,8 @@ namespace AlibabaCloud
 				void setRamRoleName(const std::string& ramRoleName);
 				std::string getAutoReleaseTime()const;
 				void setAutoReleaseTime(const std::string& autoReleaseTime);
+				std::string getDedicatedHostId()const;
+				void setDedicatedHostId(const std::string& dedicatedHostId);
 				std::string getCallerBid()const;
 				void setCallerBid(const std::string& callerBid);
 				std::vector<DataDisk> getDataDisk()const;
@@ -223,6 +225,7 @@ namespace AlibabaCloud
 				std::string systemDiskDiskName_;
 				std::string ramRoleName_;
 				std::string autoReleaseTime_;
+				std::string dedicatedHostId_;
 				std::string callerBid_;
 				std::vector<DataDisk> dataDisk_;
 				bool proxy_trust_transport_info_;

+ 123 - 0
ecs/include/alibabacloud/ecs/model/UnassignPrivateIpAddressesRequest.h

@@ -0,0 +1,123 @@
+/*
+ * 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_UNASSIGNPRIVATEIPADDRESSESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_UNASSIGNPRIVATEIPADDRESSESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT UnassignPrivateIpAddressesRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnassignPrivateIpAddressesRequest();
+				~UnassignPrivateIpAddressesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::vector<std::string> getPrivateIpAddress()const;
+				void setPrivateIpAddress(const std::vector<std::string>& privateIpAddress);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getNetworkInterfaceId()const;
+				void setNetworkInterfaceId(const std::string& networkInterfaceId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::vector<std::string> privateIpAddress_;
+				std::string requestId_;
+				std::string networkInterfaceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_UNASSIGNPRIVATEIPADDRESSESREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/UnassignPrivateIpAddressesResult.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_UNASSIGNPRIVATEIPADDRESSESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_UNASSIGNPRIVATEIPADDRESSESRESULT_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 UnassignPrivateIpAddressesResult : public ServiceResult
+			{
+			public:
+
+
+				UnassignPrivateIpAddressesResult();
+				explicit UnassignPrivateIpAddressesResult(const std::string &payload);
+				~UnassignPrivateIpAddressesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_UNASSIGNPRIVATEIPADDRESSESRESULT_H_

+ 72 - 0
ecs/src/EcsClient.cc

@@ -1347,6 +1347,42 @@ EcsClient::ModifyInstanceSpecOutcomeCallable EcsClient::modifyInstanceSpecCallab
 	return task->get_future();
 }
 
+EcsClient::AssignPrivateIpAddressesOutcome EcsClient::assignPrivateIpAddresses(const AssignPrivateIpAddressesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AssignPrivateIpAddressesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AssignPrivateIpAddressesOutcome(AssignPrivateIpAddressesResult(outcome.result()));
+	else
+		return AssignPrivateIpAddressesOutcome(outcome.error());
+}
+
+void EcsClient::assignPrivateIpAddressesAsync(const AssignPrivateIpAddressesRequest& request, const AssignPrivateIpAddressesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, assignPrivateIpAddresses(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::AssignPrivateIpAddressesOutcomeCallable EcsClient::assignPrivateIpAddressesCallable(const AssignPrivateIpAddressesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AssignPrivateIpAddressesOutcome()>>(
+			[this, request]()
+			{
+			return this->assignPrivateIpAddresses(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DeleteSnapshotOutcome EcsClient::deleteSnapshot(const DeleteSnapshotRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5199,6 +5235,42 @@ EcsClient::DescribeRenewalPriceOutcomeCallable EcsClient::describeRenewalPriceCa
 	return task->get_future();
 }
 
+EcsClient::UnassignPrivateIpAddressesOutcome EcsClient::unassignPrivateIpAddresses(const UnassignPrivateIpAddressesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnassignPrivateIpAddressesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnassignPrivateIpAddressesOutcome(UnassignPrivateIpAddressesResult(outcome.result()));
+	else
+		return UnassignPrivateIpAddressesOutcome(outcome.error());
+}
+
+void EcsClient::unassignPrivateIpAddressesAsync(const UnassignPrivateIpAddressesRequest& request, const UnassignPrivateIpAddressesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unassignPrivateIpAddresses(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::UnassignPrivateIpAddressesOutcomeCallable EcsClient::unassignPrivateIpAddressesCallable(const UnassignPrivateIpAddressesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnassignPrivateIpAddressesOutcome()>>(
+			[this, request]()
+			{
+			return this->unassignPrivateIpAddresses(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeInstanceVncPasswdOutcome EcsClient::describeInstanceVncPasswd(const DescribeInstanceVncPasswdRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 325 - 0
ecs/src/model/AssignPrivateIpAddressesRequest.cc

@@ -0,0 +1,325 @@
+/*
+ * 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/AssignPrivateIpAddressesRequest.h>
+
+using AlibabaCloud::Ecs::Model::AssignPrivateIpAddressesRequest;
+
+AssignPrivateIpAddressesRequest::AssignPrivateIpAddressesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "AssignPrivateIpAddresses")
+{}
+
+AssignPrivateIpAddressesRequest::~AssignPrivateIpAddressesRequest()
+{}
+
+long AssignPrivateIpAddressesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void AssignPrivateIpAddressesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long AssignPrivateIpAddressesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void AssignPrivateIpAddressesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool AssignPrivateIpAddressesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void AssignPrivateIpAddressesRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+int AssignPrivateIpAddressesRequest::getSecondaryPrivateIpAddressCount()const
+{
+	return secondaryPrivateIpAddressCount_;
+}
+
+void AssignPrivateIpAddressesRequest::setSecondaryPrivateIpAddressCount(int secondaryPrivateIpAddressCount)
+{
+	secondaryPrivateIpAddressCount_ = secondaryPrivateIpAddressCount;
+	setParameter("SecondaryPrivateIpAddressCount", std::to_string(secondaryPrivateIpAddressCount));
+}
+
+std::string AssignPrivateIpAddressesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void AssignPrivateIpAddressesRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string AssignPrivateIpAddressesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void AssignPrivateIpAddressesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string AssignPrivateIpAddressesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void AssignPrivateIpAddressesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string AssignPrivateIpAddressesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void AssignPrivateIpAddressesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string AssignPrivateIpAddressesRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void AssignPrivateIpAddressesRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string AssignPrivateIpAddressesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void AssignPrivateIpAddressesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string AssignPrivateIpAddressesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void AssignPrivateIpAddressesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool AssignPrivateIpAddressesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void AssignPrivateIpAddressesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string AssignPrivateIpAddressesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void AssignPrivateIpAddressesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string AssignPrivateIpAddressesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void AssignPrivateIpAddressesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string AssignPrivateIpAddressesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void AssignPrivateIpAddressesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long AssignPrivateIpAddressesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void AssignPrivateIpAddressesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string AssignPrivateIpAddressesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void AssignPrivateIpAddressesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string AssignPrivateIpAddressesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void AssignPrivateIpAddressesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string AssignPrivateIpAddressesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void AssignPrivateIpAddressesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string AssignPrivateIpAddressesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void AssignPrivateIpAddressesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long AssignPrivateIpAddressesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void AssignPrivateIpAddressesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool AssignPrivateIpAddressesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void AssignPrivateIpAddressesRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool AssignPrivateIpAddressesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void AssignPrivateIpAddressesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool AssignPrivateIpAddressesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void AssignPrivateIpAddressesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::vector<std::string> AssignPrivateIpAddressesRequest::getPrivateIpAddress()const
+{
+	return privateIpAddress_;
+}
+
+void AssignPrivateIpAddressesRequest::setPrivateIpAddress(const std::vector<std::string>& privateIpAddress)
+{
+	privateIpAddress_ = privateIpAddress;
+	for(int i = 0; i!= privateIpAddress.size(); i++)
+		setParameter("PrivateIpAddress."+ std::to_string(i), privateIpAddress.at(i));
+}
+
+std::string AssignPrivateIpAddressesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void AssignPrivateIpAddressesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string AssignPrivateIpAddressesRequest::getNetworkInterfaceId()const
+{
+	return networkInterfaceId_;
+}
+
+void AssignPrivateIpAddressesRequest::setNetworkInterfaceId(const std::string& networkInterfaceId)
+{
+	networkInterfaceId_ = networkInterfaceId;
+	setParameter("NetworkInterfaceId", networkInterfaceId);
+}
+

+ 45 - 0
ecs/src/model/AssignPrivateIpAddressesResult.cc

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

+ 11 - 0
ecs/src/model/CreateInstanceRequest.cc

@@ -564,6 +564,17 @@ void CreateInstanceRequest::setRamRoleName(const std::string& ramRoleName)
 	setParameter("RamRoleName", ramRoleName);
 }
 
+std::string CreateInstanceRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void CreateInstanceRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setParameter("DedicatedHostId", dedicatedHostId);
+}
+
 std::string CreateInstanceRequest::getClusterId()const
 {
 	return clusterId_;

+ 11 - 0
ecs/src/model/DescribeAvailableResourceRequest.cc

@@ -289,6 +289,17 @@ void DescribeAvailableResourceRequest::setOwnerAccount(const std::string& ownerA
 	setParameter("OwnerAccount", ownerAccount);
 }
 
+std::string DescribeAvailableResourceRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void DescribeAvailableResourceRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setParameter("DedicatedHostId", dedicatedHostId);
+}
+
 std::string DescribeAvailableResourceRequest::getCallerBid()const
 {
 	return callerBid_;

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

@@ -67,6 +67,11 @@ void DescribeInstanceAttributeResult::parse(const std::string &payload)
 		eipAddress_.bandwidth = std::stoi(eipAddressNode["Bandwidth"].asString());
 	if(!eipAddressNode["InternetChargeType"].isNull())
 		eipAddress_.internetChargeType = eipAddressNode["InternetChargeType"].asString();
+	auto dedicatedHostAttributeNode = value["DedicatedHostAttribute"];
+	if(!dedicatedHostAttributeNode["DedicatedHostId"].isNull())
+		dedicatedHostAttribute_.dedicatedHostId = dedicatedHostAttributeNode["DedicatedHostId"].asString();
+	if(!dedicatedHostAttributeNode["DedicatedHostName"].isNull())
+		dedicatedHostAttribute_.dedicatedHostName = dedicatedHostAttributeNode["DedicatedHostName"].asString();
 	auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
 	for (const auto &item : allSecurityGroupIds)
 		securityGroupIds_.push_back(item.asString());
@@ -220,6 +225,11 @@ std::string DescribeInstanceAttributeResult::getStoppedMode()const
 	return stoppedMode_;
 }
 
+DescribeInstanceAttributeResult::DedicatedHostAttribute DescribeInstanceAttributeResult::getDedicatedHostAttribute()const
+{
+	return dedicatedHostAttribute_;
+}
+
 DescribeInstanceAttributeResult::VpcAttributes DescribeInstanceAttributeResult::getVpcAttributes()const
 {
 	return vpcAttributes_;

+ 24 - 0
ecs/src/model/DescribeInstanceHistoryEventsRequest.cc

@@ -213,6 +213,18 @@ void DescribeInstanceHistoryEventsRequest::setCallerBidEmail(const std::string&
 	setParameter("CallerBidEmail", callerBidEmail);
 }
 
+std::vector<std::string> DescribeInstanceHistoryEventsRequest::getInstanceEventCycleStatus()const
+{
+	return instanceEventCycleStatus_;
+}
+
+void DescribeInstanceHistoryEventsRequest::setInstanceEventCycleStatus(const std::vector<std::string>& instanceEventCycleStatus)
+{
+	instanceEventCycleStatus_ = instanceEventCycleStatus;
+	for(int i = 0; i!= instanceEventCycleStatus.size(); i++)
+		setParameter("InstanceEventCycleStatus."+ std::to_string(i), instanceEventCycleStatus.at(i));
+}
+
 std::string DescribeInstanceHistoryEventsRequest::getCallerUidEmail()const
 {
 	return callerUidEmail_;
@@ -257,6 +269,18 @@ void DescribeInstanceHistoryEventsRequest::setApp_ip(const std::string& app_ip)
 	setParameter("App_ip", app_ip);
 }
 
+std::vector<std::string> DescribeInstanceHistoryEventsRequest::getInstanceEventType()const
+{
+	return instanceEventType_;
+}
+
+void DescribeInstanceHistoryEventsRequest::setInstanceEventType(const std::vector<std::string>& instanceEventType)
+{
+	instanceEventType_ = instanceEventType;
+	for(int i = 0; i!= instanceEventType.size(); i++)
+		setParameter("InstanceEventType."+ std::to_string(i), instanceEventType.at(i));
+}
+
 std::string DescribeInstanceHistoryEventsRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;

+ 7 - 0
ecs/src/model/DescribeInstanceHistoryEventsResult.cc

@@ -52,11 +52,18 @@ void DescribeInstanceHistoryEventsResult::parse(const std::string &payload)
 			instanceSystemEventSetObject.eventPublishTime = value["EventPublishTime"].asString();
 		if(!value["NotBefore"].isNull())
 			instanceSystemEventSetObject.notBefore = value["NotBefore"].asString();
+		if(!value["EventFinishTime"].isNull())
+			instanceSystemEventSetObject.eventFinishTime = value["EventFinishTime"].asString();
 		auto eventTypeNode = value["EventType"];
 		if(!eventTypeNode["Code"].isNull())
 			instanceSystemEventSetObject.eventType.code = std::stoi(eventTypeNode["Code"].asString());
 		if(!eventTypeNode["Name"].isNull())
 			instanceSystemEventSetObject.eventType.name = eventTypeNode["Name"].asString();
+		auto eventCycleStatusNode = value["EventCycleStatus"];
+		if(!eventCycleStatusNode["Code"].isNull())
+			instanceSystemEventSetObject.eventCycleStatus.code = std::stoi(eventCycleStatusNode["Code"].asString());
+		if(!eventCycleStatusNode["Name"].isNull())
+			instanceSystemEventSetObject.eventCycleStatus.name = eventCycleStatusNode["Name"].asString();
 		instanceSystemEventSet_.push_back(instanceSystemEventSetObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 12 - 0
ecs/src/model/DescribeInstancesFullStatusRequest.cc

@@ -246,6 +246,18 @@ void DescribeInstancesFullStatusRequest::setApp_ip(const std::string& app_ip)
 	setParameter("App_ip", app_ip);
 }
 
+std::vector<std::string> DescribeInstancesFullStatusRequest::getInstanceEventType()const
+{
+	return instanceEventType_;
+}
+
+void DescribeInstancesFullStatusRequest::setInstanceEventType(const std::vector<std::string>& instanceEventType)
+{
+	instanceEventType_ = instanceEventType;
+	for(int i = 0; i!= instanceEventType.size(); i++)
+		setParameter("InstanceEventType."+ std::to_string(i), instanceEventType.at(i));
+}
+
 std::string DescribeInstancesFullStatusRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;

+ 5 - 0
ecs/src/model/DescribeInstancesResult.cc

@@ -177,6 +177,11 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.eipAddress.internetChargeType = eipAddressNode["InternetChargeType"].asString();
 		if(!eipAddressNode["IsSupportUnassociate"].isNull())
 			instancesObject.eipAddress.isSupportUnassociate = eipAddressNode["IsSupportUnassociate"].asString() == "true";
+		auto dedicatedHostAttributeNode = value["DedicatedHostAttribute"];
+		if(!dedicatedHostAttributeNode["DedicatedHostId"].isNull())
+			instancesObject.dedicatedHostAttribute.dedicatedHostId = dedicatedHostAttributeNode["DedicatedHostId"].asString();
+		if(!dedicatedHostAttributeNode["DedicatedHostName"].isNull())
+			instancesObject.dedicatedHostAttribute.dedicatedHostName = dedicatedHostAttributeNode["DedicatedHostName"].asString();
 		auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
 		for (auto value : allSecurityGroupIds)
 			instancesObject.securityGroupIds.push_back(value.asString());

+ 6 - 0
ecs/src/model/DescribeZonesResult.cc

@@ -86,6 +86,12 @@ void DescribeZonesResult::parse(const std::string &payload)
 		auto allAvailableVolumeCategories = value["AvailableVolumeCategories"]["VolumeCategories"];
 		for (auto value : allAvailableVolumeCategories)
 			zonesObject.availableVolumeCategories.push_back(value.asString());
+		auto allAvailableDedicatedHostTypes = value["AvailableDedicatedHostTypes"]["DedicatedHostType"];
+		for (auto value : allAvailableDedicatedHostTypes)
+			zonesObject.availableDedicatedHostTypes.push_back(value.asString());
+		auto allDedicatedHostGenerations = value["DedicatedHostGenerations"]["DedicatedHostGeneration"];
+		for (auto value : allDedicatedHostGenerations)
+			zonesObject.dedicatedHostGenerations.push_back(value.asString());
 		zones_.push_back(zonesObject);
 	}
 

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

@@ -601,6 +601,17 @@ void RunInstancesRequest::setAutoReleaseTime(const std::string& autoReleaseTime)
 	setParameter("AutoReleaseTime", autoReleaseTime);
 }
 
+std::string RunInstancesRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void RunInstancesRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setParameter("DedicatedHostId", dedicatedHostId);
+}
+
 std::string RunInstancesRequest::getCallerBid()const
 {
 	return callerBid_;

+ 314 - 0
ecs/src/model/UnassignPrivateIpAddressesRequest.cc

@@ -0,0 +1,314 @@
+/*
+ * 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/UnassignPrivateIpAddressesRequest.h>
+
+using AlibabaCloud::Ecs::Model::UnassignPrivateIpAddressesRequest;
+
+UnassignPrivateIpAddressesRequest::UnassignPrivateIpAddressesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "UnassignPrivateIpAddresses")
+{}
+
+UnassignPrivateIpAddressesRequest::~UnassignPrivateIpAddressesRequest()
+{}
+
+long UnassignPrivateIpAddressesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long UnassignPrivateIpAddressesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool UnassignPrivateIpAddressesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void UnassignPrivateIpAddressesRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string UnassignPrivateIpAddressesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void UnassignPrivateIpAddressesRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void UnassignPrivateIpAddressesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void UnassignPrivateIpAddressesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void UnassignPrivateIpAddressesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool UnassignPrivateIpAddressesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void UnassignPrivateIpAddressesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string UnassignPrivateIpAddressesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void UnassignPrivateIpAddressesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void UnassignPrivateIpAddressesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void UnassignPrivateIpAddressesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long UnassignPrivateIpAddressesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void UnassignPrivateIpAddressesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string UnassignPrivateIpAddressesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void UnassignPrivateIpAddressesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void UnassignPrivateIpAddressesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void UnassignPrivateIpAddressesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void UnassignPrivateIpAddressesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long UnassignPrivateIpAddressesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool UnassignPrivateIpAddressesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void UnassignPrivateIpAddressesRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool UnassignPrivateIpAddressesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void UnassignPrivateIpAddressesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool UnassignPrivateIpAddressesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void UnassignPrivateIpAddressesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::vector<std::string> UnassignPrivateIpAddressesRequest::getPrivateIpAddress()const
+{
+	return privateIpAddress_;
+}
+
+void UnassignPrivateIpAddressesRequest::setPrivateIpAddress(const std::vector<std::string>& privateIpAddress)
+{
+	privateIpAddress_ = privateIpAddress;
+	for(int i = 0; i!= privateIpAddress.size(); i++)
+		setParameter("PrivateIpAddress."+ std::to_string(i), privateIpAddress.at(i));
+}
+
+std::string UnassignPrivateIpAddressesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string UnassignPrivateIpAddressesRequest::getNetworkInterfaceId()const
+{
+	return networkInterfaceId_;
+}
+
+void UnassignPrivateIpAddressesRequest::setNetworkInterfaceId(const std::string& networkInterfaceId)
+{
+	networkInterfaceId_ = networkInterfaceId;
+	setParameter("NetworkInterfaceId", networkInterfaceId);
+}
+

+ 45 - 0
ecs/src/model/UnassignPrivateIpAddressesResult.cc

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