sdk-team 5 роки тому
батько
коміт
e43b1b44eb
49 змінених файлів з 861 додано та 31 видалено
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 4 0
      ecs/CMakeLists.txt
  4. 8 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 3 0
      ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h
  6. 6 0
      ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h
  7. 12 0
      ecs/include/alibabacloud/ecs/model/CreateCapacityReservationRequest.h
  8. 12 0
      ecs/include/alibabacloud/ecs/model/CreateElasticityAssuranceRequest.h
  9. 3 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h
  10. 12 0
      ecs/include/alibabacloud/ecs/model/DescribeCapacityReservationsRequest.h
  11. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeCapacityReservationsResult.h
  12. 9 0
      ecs/include/alibabacloud/ecs/model/DescribeCloudAssistantStatusRequest.h
  13. 10 0
      ecs/include/alibabacloud/ecs/model/DescribeCloudAssistantStatusResult.h
  14. 12 0
      ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesRequest.h
  15. 9 2
      ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesResult.h
  16. 79 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceModificationPriceRequest.h
  17. 68 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceModificationPriceResult.h
  18. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
  19. 5 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  20. 3 0
      ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h
  21. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeRenewalPriceRequest.h
  22. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeSnapshotGroupsRequest.h
  23. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeSnapshotGroupsResult.h
  24. 3 0
      ecs/include/alibabacloud/ecs/model/RenewInstanceRequest.h
  25. 9 6
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  26. 2 0
      ecs/include/alibabacloud/ecs/model/RunInstancesResult.h
  27. 36 0
      ecs/src/EcsClient.cc
  28. 11 0
      ecs/src/model/AllocateDedicatedHostsRequest.cc
  29. 22 0
      ecs/src/model/CreateAutoProvisioningGroupRequest.cc
  30. 27 0
      ecs/src/model/CreateCapacityReservationRequest.cc
  31. 27 0
      ecs/src/model/CreateElasticityAssuranceRequest.cc
  32. 11 0
      ecs/src/model/CreateInstanceRequest.cc
  33. 27 0
      ecs/src/model/DescribeCapacityReservationsRequest.cc
  34. 12 0
      ecs/src/model/DescribeCapacityReservationsResult.cc
  35. 33 0
      ecs/src/model/DescribeCloudAssistantStatusRequest.cc
  36. 29 0
      ecs/src/model/DescribeCloudAssistantStatusResult.cc
  37. 27 0
      ecs/src/model/DescribeElasticityAssurancesRequest.cc
  38. 12 0
      ecs/src/model/DescribeElasticityAssurancesResult.cc
  39. 134 0
      ecs/src/model/DescribeInstanceModificationPriceRequest.cc
  40. 69 0
      ecs/src/model/DescribeInstanceModificationPriceResult.cc
  41. 2 0
      ecs/src/model/DescribeInstanceTypesResult.cc
  42. 3 0
      ecs/src/model/DescribeInstancesResult.cc
  43. 11 0
      ecs/src/model/DescribePriceRequest.cc
  44. 11 0
      ecs/src/model/DescribeRenewalPriceRequest.cc
  45. 13 0
      ecs/src/model/DescribeSnapshotGroupsRequest.cc
  46. 2 0
      ecs/src/model/DescribeSnapshotGroupsResult.cc
  47. 11 0
      ecs/src/model/RenewInstanceRequest.cc
  48. 35 22
      ecs/src/model/RunInstancesRequest.cc
  49. 7 0
      ecs/src/model/RunInstancesResult.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2021-03-31 Version: 1.36.666
+- Ecs support hibernation.
+- DescribeSnapshotGroups add ProgressStatus.
+
 2021-03-30 Version: 1.36.665
 2021-03-30 Version: 1.36.665
 - Generated 2020-05-18 for `dataworks-public`.
 - Generated 2020-05-18 for `dataworks-public`.
 
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.665
+1.36.666

+ 4 - 0
ecs/CMakeLists.txt

@@ -309,6 +309,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesResult.h
+	include/alibabacloud/ecs/model/DescribeInstanceModificationPriceRequest.h
+	include/alibabacloud/ecs/model/DescribeInstanceModificationPriceResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceRamRoleRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceRamRoleRequest.h
@@ -962,6 +964,8 @@ set(ecs_src
 	src/model/DescribeInstanceHistoryEventsResult.cc
 	src/model/DescribeInstanceHistoryEventsResult.cc
 	src/model/DescribeInstanceMaintenanceAttributesRequest.cc
 	src/model/DescribeInstanceMaintenanceAttributesRequest.cc
 	src/model/DescribeInstanceMaintenanceAttributesResult.cc
 	src/model/DescribeInstanceMaintenanceAttributesResult.cc
+	src/model/DescribeInstanceModificationPriceRequest.cc
+	src/model/DescribeInstanceModificationPriceResult.cc
 	src/model/DescribeInstanceMonitorDataRequest.cc
 	src/model/DescribeInstanceMonitorDataRequest.cc
 	src/model/DescribeInstanceMonitorDataResult.cc
 	src/model/DescribeInstanceMonitorDataResult.cc
 	src/model/DescribeInstanceRamRoleRequest.cc
 	src/model/DescribeInstanceRamRoleRequest.cc

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

@@ -310,6 +310,8 @@
 #include "model/DescribeInstanceHistoryEventsResult.h"
 #include "model/DescribeInstanceHistoryEventsResult.h"
 #include "model/DescribeInstanceMaintenanceAttributesRequest.h"
 #include "model/DescribeInstanceMaintenanceAttributesRequest.h"
 #include "model/DescribeInstanceMaintenanceAttributesResult.h"
 #include "model/DescribeInstanceMaintenanceAttributesResult.h"
+#include "model/DescribeInstanceModificationPriceRequest.h"
+#include "model/DescribeInstanceModificationPriceResult.h"
 #include "model/DescribeInstanceMonitorDataRequest.h"
 #include "model/DescribeInstanceMonitorDataRequest.h"
 #include "model/DescribeInstanceMonitorDataResult.h"
 #include "model/DescribeInstanceMonitorDataResult.h"
 #include "model/DescribeInstanceRamRoleRequest.h"
 #include "model/DescribeInstanceRamRoleRequest.h"
@@ -1113,6 +1115,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceMaintenanceAttributesResult> DescribeInstanceMaintenanceAttributesOutcome;
 			typedef Outcome<Error, Model::DescribeInstanceMaintenanceAttributesResult> DescribeInstanceMaintenanceAttributesOutcome;
 			typedef std::future<DescribeInstanceMaintenanceAttributesOutcome> DescribeInstanceMaintenanceAttributesOutcomeCallable;
 			typedef std::future<DescribeInstanceMaintenanceAttributesOutcome> DescribeInstanceMaintenanceAttributesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceMaintenanceAttributesRequest&, const DescribeInstanceMaintenanceAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceMaintenanceAttributesAsyncHandler;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceMaintenanceAttributesRequest&, const DescribeInstanceMaintenanceAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceMaintenanceAttributesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceModificationPriceResult> DescribeInstanceModificationPriceOutcome;
+			typedef std::future<DescribeInstanceModificationPriceOutcome> DescribeInstanceModificationPriceOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceModificationPriceRequest&, const DescribeInstanceModificationPriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceModificationPriceAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceMonitorDataResult> DescribeInstanceMonitorDataOutcome;
 			typedef Outcome<Error, Model::DescribeInstanceMonitorDataResult> DescribeInstanceMonitorDataOutcome;
 			typedef std::future<DescribeInstanceMonitorDataOutcome> DescribeInstanceMonitorDataOutcomeCallable;
 			typedef std::future<DescribeInstanceMonitorDataOutcome> DescribeInstanceMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceMonitorDataRequest&, const DescribeInstanceMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceMonitorDataAsyncHandler;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceMonitorDataRequest&, const DescribeInstanceMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceMonitorDataAsyncHandler;
@@ -2093,6 +2098,9 @@ namespace AlibabaCloud
 			DescribeInstanceMaintenanceAttributesOutcome describeInstanceMaintenanceAttributes(const Model::DescribeInstanceMaintenanceAttributesRequest &request)const;
 			DescribeInstanceMaintenanceAttributesOutcome describeInstanceMaintenanceAttributes(const Model::DescribeInstanceMaintenanceAttributesRequest &request)const;
 			void describeInstanceMaintenanceAttributesAsync(const Model::DescribeInstanceMaintenanceAttributesRequest& request, const DescribeInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeInstanceMaintenanceAttributesAsync(const Model::DescribeInstanceMaintenanceAttributesRequest& request, const DescribeInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceMaintenanceAttributesOutcomeCallable describeInstanceMaintenanceAttributesCallable(const Model::DescribeInstanceMaintenanceAttributesRequest& request) const;
 			DescribeInstanceMaintenanceAttributesOutcomeCallable describeInstanceMaintenanceAttributesCallable(const Model::DescribeInstanceMaintenanceAttributesRequest& request) const;
+			DescribeInstanceModificationPriceOutcome describeInstanceModificationPrice(const Model::DescribeInstanceModificationPriceRequest &request)const;
+			void describeInstanceModificationPriceAsync(const Model::DescribeInstanceModificationPriceRequest& request, const DescribeInstanceModificationPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceModificationPriceOutcomeCallable describeInstanceModificationPriceCallable(const Model::DescribeInstanceModificationPriceRequest& request) const;
 			DescribeInstanceMonitorDataOutcome describeInstanceMonitorData(const Model::DescribeInstanceMonitorDataRequest &request)const;
 			DescribeInstanceMonitorDataOutcome describeInstanceMonitorData(const Model::DescribeInstanceMonitorDataRequest &request)const;
 			void describeInstanceMonitorDataAsync(const Model::DescribeInstanceMonitorDataRequest& request, const DescribeInstanceMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeInstanceMonitorDataAsync(const Model::DescribeInstanceMonitorDataRequest& request, const DescribeInstanceMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceMonitorDataOutcomeCallable describeInstanceMonitorDataCallable(const Model::DescribeInstanceMonitorDataRequest& request) const;
 			DescribeInstanceMonitorDataOutcomeCallable describeInstanceMonitorDataCallable(const Model::DescribeInstanceMonitorDataRequest& request) const;

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

@@ -51,6 +51,8 @@ namespace AlibabaCloud
 				void setCpuOverCommitRatio(float cpuOverCommitRatio);
 				void setCpuOverCommitRatio(float cpuOverCommitRatio);
 				std::string getResourceGroupId()const;
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				void setResourceGroupId(const std::string& resourceGroupId);
+				int getMinQuantity()const;
+				void setMinQuantity(int minQuantity);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::string getActionOnMaintenance()const;
 				std::string getActionOnMaintenance()const;
@@ -98,6 +100,7 @@ namespace AlibabaCloud
 				std::string description_;
 				std::string description_;
 				float cpuOverCommitRatio_;
 				float cpuOverCommitRatio_;
 				std::string resourceGroupId_;
 				std::string resourceGroupId_;
+				int minQuantity_;
 				std::string regionId_;
 				std::string regionId_;
 				std::string actionOnMaintenance_;
 				std::string actionOnMaintenance_;
 				std::string dedicatedHostClusterId_;
 				std::string dedicatedHostClusterId_;

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

@@ -86,6 +86,8 @@ namespace AlibabaCloud
 				void setLaunchConfigurationImageId(const std::string& launchConfigurationImageId);
 				void setLaunchConfigurationImageId(const std::string& launchConfigurationImageId);
 				std::string getLaunchConfigurationResourceGroupId()const;
 				std::string getLaunchConfigurationResourceGroupId()const;
 				void setLaunchConfigurationResourceGroupId(const std::string& launchConfigurationResourceGroupId);
 				void setLaunchConfigurationResourceGroupId(const std::string& launchConfigurationResourceGroupId);
+				std::string getLaunchConfigurationPassword()const;
+				void setLaunchConfigurationPassword(const std::string& launchConfigurationPassword);
 				std::string getPayAsYouGoAllocationStrategy()const;
 				std::string getPayAsYouGoAllocationStrategy()const;
 				void setPayAsYouGoAllocationStrategy(const std::string& payAsYouGoAllocationStrategy);
 				void setPayAsYouGoAllocationStrategy(const std::string& payAsYouGoAllocationStrategy);
 				std::string getDefaultTargetCapacityType()const;
 				std::string getDefaultTargetCapacityType()const;
@@ -152,6 +154,8 @@ namespace AlibabaCloud
 				void setLaunchConfigurationSecurityEnhancementStrategy(const std::string& launchConfigurationSecurityEnhancementStrategy);
 				void setLaunchConfigurationSecurityEnhancementStrategy(const std::string& launchConfigurationSecurityEnhancementStrategy);
 				std::vector<LaunchConfigurationTag> getLaunchConfigurationTag()const;
 				std::vector<LaunchConfigurationTag> getLaunchConfigurationTag()const;
 				void setLaunchConfigurationTag(const std::vector<LaunchConfigurationTag>& launchConfigurationTag);
 				void setLaunchConfigurationTag(const std::vector<LaunchConfigurationTag>& launchConfigurationTag);
+				std::string getLaunchConfigurationDeploymentSetId()const;
+				void setLaunchConfigurationDeploymentSetId(const std::string& launchConfigurationDeploymentSetId);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				std::string getOwnerAccount()const;
@@ -184,6 +188,7 @@ namespace AlibabaCloud
 				std::string resourceGroupId_;
 				std::string resourceGroupId_;
 				std::string launchConfigurationImageId_;
 				std::string launchConfigurationImageId_;
 				std::string launchConfigurationResourceGroupId_;
 				std::string launchConfigurationResourceGroupId_;
+				std::string launchConfigurationPassword_;
 				std::string payAsYouGoAllocationStrategy_;
 				std::string payAsYouGoAllocationStrategy_;
 				std::string defaultTargetCapacityType_;
 				std::string defaultTargetCapacityType_;
 				std::string launchConfigurationKeyPairName_;
 				std::string launchConfigurationKeyPairName_;
@@ -217,6 +222,7 @@ namespace AlibabaCloud
 				std::string spotInstanceInterruptionBehavior_;
 				std::string spotInstanceInterruptionBehavior_;
 				std::string launchConfigurationSecurityEnhancementStrategy_;
 				std::string launchConfigurationSecurityEnhancementStrategy_;
 				std::vector<LaunchConfigurationTag> launchConfigurationTag_;
 				std::vector<LaunchConfigurationTag> launchConfigurationTag_;
+				std::string launchConfigurationDeploymentSetId_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;
 				int spotInstancePoolsToUseCount_;
 				int spotInstancePoolsToUseCount_;

+ 12 - 0
ecs/include/alibabacloud/ecs/model/CreateCapacityReservationRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ECS_EXPORT CreateCapacityReservationRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ECS_EXPORT CreateCapacityReservationRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
 
 
 			public:
 			public:
 				CreateCapacityReservationRequest();
 				CreateCapacityReservationRequest();
@@ -45,12 +51,16 @@ namespace AlibabaCloud
 				void setStartTime(const std::string& startTime);
 				void setStartTime(const std::string& startTime);
 				std::string getPlatform()const;
 				std::string getPlatform()const;
 				void setPlatform(const std::string& platform);
 				void setPlatform(const std::string& platform);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getPrivatePoolOptionsMatchCriteria()const;
 				std::string getPrivatePoolOptionsMatchCriteria()const;
 				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
 				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getInstanceChargeType()const;
 				std::string getInstanceChargeType()const;
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				int getEfficientStatus()const;
 				int getEfficientStatus()const;
@@ -90,9 +100,11 @@ namespace AlibabaCloud
 				std::string description_;
 				std::string description_;
 				std::string startTime_;
 				std::string startTime_;
 				std::string platform_;
 				std::string platform_;
+				std::string resourceGroupId_;
 				std::string privatePoolOptionsMatchCriteria_;
 				std::string privatePoolOptionsMatchCriteria_;
 				std::string regionId_;
 				std::string regionId_;
 				std::string instanceType_;
 				std::string instanceType_;
+				std::vector<Tag> tag_;
 				std::string instanceChargeType_;
 				std::string instanceChargeType_;
 				int efficientStatus_;
 				int efficientStatus_;
 				int period_;
 				int period_;

+ 12 - 0
ecs/include/alibabacloud/ecs/model/CreateElasticityAssuranceRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ECS_EXPORT CreateElasticityAssuranceRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ECS_EXPORT CreateElasticityAssuranceRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
 
 
 			public:
 			public:
 				CreateElasticityAssuranceRequest();
 				CreateElasticityAssuranceRequest();
@@ -45,12 +51,16 @@ namespace AlibabaCloud
 				void setStartTime(const std::string& startTime);
 				void setStartTime(const std::string& startTime);
 				std::string getPlatform()const;
 				std::string getPlatform()const;
 				void setPlatform(const std::string& platform);
 				void setPlatform(const std::string& platform);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getPrivatePoolOptionsMatchCriteria()const;
 				std::string getPrivatePoolOptionsMatchCriteria()const;
 				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
 				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::vector<std::string> getInstanceType()const;
 				std::vector<std::string> getInstanceType()const;
 				void setInstanceType(const std::vector<std::string>& instanceType);
 				void setInstanceType(const std::vector<std::string>& instanceType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getInstanceChargeType()const;
 				std::string getInstanceChargeType()const;
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				int getPeriod()const;
 				int getPeriod()const;
@@ -86,9 +96,11 @@ namespace AlibabaCloud
 				std::string description_;
 				std::string description_;
 				std::string startTime_;
 				std::string startTime_;
 				std::string platform_;
 				std::string platform_;
+				std::string resourceGroupId_;
 				std::string privatePoolOptionsMatchCriteria_;
 				std::string privatePoolOptionsMatchCriteria_;
 				std::string regionId_;
 				std::string regionId_;
 				std::vector<std::string> instanceType_;
 				std::vector<std::string> instanceType_;
+				std::vector<Tag> tag_;
 				std::string instanceChargeType_;
 				std::string instanceChargeType_;
 				int period_;
 				int period_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;

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

@@ -139,6 +139,8 @@ namespace AlibabaCloud
 				void setSecurityGroupId(const std::string& securityGroupId);
 				void setSecurityGroupId(const std::string& securityGroupId);
 				int getInternetMaxBandwidthOut()const;
 				int getInternetMaxBandwidthOut()const;
 				void setInternetMaxBandwidthOut(int internetMaxBandwidthOut);
 				void setInternetMaxBandwidthOut(int internetMaxBandwidthOut);
+				bool getHibernationOptionsConfigured()const;
+				void setHibernationOptionsConfigured(bool hibernationOptionsConfigured);
 				std::string getDescription()const;
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
 				void setDescription(const std::string& description);
 				std::string getSystemDiskCategory()const;
 				std::string getSystemDiskCategory()const;
@@ -236,6 +238,7 @@ namespace AlibabaCloud
 				std::string ioOptimized_;
 				std::string ioOptimized_;
 				std::string securityGroupId_;
 				std::string securityGroupId_;
 				int internetMaxBandwidthOut_;
 				int internetMaxBandwidthOut_;
+				bool hibernationOptionsConfigured_;
 				std::string description_;
 				std::string description_;
 				std::string systemDiskCategory_;
 				std::string systemDiskCategory_;
 				std::string capacityReservationId_;
 				std::string capacityReservationId_;

+ 12 - 0
ecs/include/alibabacloud/ecs/model/DescribeCapacityReservationsRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ECS_EXPORT DescribeCapacityReservationsRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ECS_EXPORT DescribeCapacityReservationsRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
 
 
 			public:
 			public:
 				DescribeCapacityReservationsRequest();
 				DescribeCapacityReservationsRequest();
@@ -39,12 +45,16 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getPlatform()const;
 				std::string getPlatform()const;
 				void setPlatform(const std::string& platform);
 				void setPlatform(const std::string& platform);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::string getNextToken()const;
 				std::string getNextToken()const;
 				void setNextToken(const std::string& nextToken);
 				void setNextToken(const std::string& nextToken);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getInstanceChargeType()const;
 				std::string getInstanceChargeType()const;
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
@@ -67,9 +77,11 @@ namespace AlibabaCloud
             private:
             private:
 				long resourceOwnerId_;
 				long resourceOwnerId_;
 				std::string platform_;
 				std::string platform_;
+				std::string resourceGroupId_;
 				std::string regionId_;
 				std::string regionId_;
 				std::string nextToken_;
 				std::string nextToken_;
 				std::string instanceType_;
 				std::string instanceType_;
+				std::vector<Tag> tag_;
 				std::string instanceChargeType_;
 				std::string instanceChargeType_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;

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

@@ -41,10 +41,16 @@ namespace AlibabaCloud
 						int totalAmount;
 						int totalAmount;
 						std::string instanceType;
 						std::string instanceType;
 					};
 					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::string status;
 					std::string description;
 					std::string description;
 					std::string endTime;
 					std::string endTime;
 					std::string platform;
 					std::string platform;
+					std::string resourceGroupId;
 					std::string privatePoolOptionsName;
 					std::string privatePoolOptionsName;
 					std::string instanceChargeType;
 					std::string instanceChargeType;
 					std::string startTime;
 					std::string startTime;
@@ -54,6 +60,7 @@ namespace AlibabaCloud
 					std::string privatePoolOptionsId;
 					std::string privatePoolOptionsId;
 					std::string endTimeType;
 					std::string endTimeType;
 					std::string regionId;
 					std::string regionId;
+					std::vector<CapacityReservationItem::Tag> tags;
 				};
 				};
 
 
 
 

+ 9 - 0
ecs/include/alibabacloud/ecs/model/DescribeCloudAssistantStatusRequest.h

@@ -37,12 +37,18 @@ namespace AlibabaCloud
 
 
 				long getResourceOwnerId()const;
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				void setResourceOwnerId(long resourceOwnerId);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
 				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getOSType()const;
+				void setOSType(const std::string& oSType);
 				long getOwnerId()const;
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				void setOwnerId(long ownerId);
 				std::vector<std::string> getInstanceId()const;
 				std::vector<std::string> getInstanceId()const;
@@ -50,9 +56,12 @@ namespace AlibabaCloud
 
 
             private:
             private:
 				long resourceOwnerId_;
 				long resourceOwnerId_;
+				long pageNumber_;
 				std::string regionId_;
 				std::string regionId_;
+				long pageSize_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;
+				std::string oSType_;
 				long ownerId_;
 				long ownerId_;
 				std::vector<std::string> instanceId_;
 				std::vector<std::string> instanceId_;
 
 

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

@@ -36,19 +36,29 @@ namespace AlibabaCloud
 				{
 				{
 					std::string cloudAssistantVersion;
 					std::string cloudAssistantVersion;
 					std::string instanceId;
 					std::string instanceId;
+					std::string oSType;
+					long invocationCount;
 					std::string cloudAssistantStatus;
 					std::string cloudAssistantStatus;
+					std::string lastInvokedTime;
+					long activeTaskCount;
 				};
 				};
 
 
 
 
 				DescribeCloudAssistantStatusResult();
 				DescribeCloudAssistantStatusResult();
 				explicit DescribeCloudAssistantStatusResult(const std::string &payload);
 				explicit DescribeCloudAssistantStatusResult(const std::string &payload);
 				~DescribeCloudAssistantStatusResult();
 				~DescribeCloudAssistantStatusResult();
+				long getTotalCount()const;
+				long getPageSize()const;
 				std::vector<InstanceCloudAssistantStatus> getInstanceCloudAssistantStatusSet()const;
 				std::vector<InstanceCloudAssistantStatus> getInstanceCloudAssistantStatusSet()const;
+				long getPageNumber()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
+				long totalCount_;
+				long pageSize_;
 				std::vector<InstanceCloudAssistantStatus> instanceCloudAssistantStatusSet_;
 				std::vector<InstanceCloudAssistantStatus> instanceCloudAssistantStatusSet_;
+				long pageNumber_;
 
 
 			};
 			};
 		}
 		}

+ 12 - 0
ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ECS_EXPORT DescribeElasticityAssurancesRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ECS_EXPORT DescribeElasticityAssurancesRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
 
 
 			public:
 			public:
 				DescribeElasticityAssurancesRequest();
 				DescribeElasticityAssurancesRequest();
@@ -39,12 +45,16 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getPlatform()const;
 				std::string getPlatform()const;
 				void setPlatform(const std::string& platform);
 				void setPlatform(const std::string& platform);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::string getNextToken()const;
 				std::string getNextToken()const;
 				void setNextToken(const std::string& nextToken);
 				void setNextToken(const std::string& nextToken);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getInstanceChargeType()const;
 				std::string getInstanceChargeType()const;
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				void setInstanceChargeType(const std::string& instanceChargeType);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
@@ -67,9 +77,11 @@ namespace AlibabaCloud
             private:
             private:
 				long resourceOwnerId_;
 				long resourceOwnerId_;
 				std::string platform_;
 				std::string platform_;
+				std::string resourceGroupId_;
 				std::string regionId_;
 				std::string regionId_;
 				std::string nextToken_;
 				std::string nextToken_;
 				std::string instanceType_;
 				std::string instanceType_;
+				std::vector<Tag> tag_;
 				std::string instanceChargeType_;
 				std::string instanceChargeType_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;

+ 9 - 2
ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesResult.h

@@ -41,18 +41,25 @@ namespace AlibabaCloud
 						int totalAmount;
 						int totalAmount;
 						std::string instanceType;
 						std::string instanceType;
 					};
 					};
-					std::string totalAssuranceTimes;
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::string status;
 					int usedAssuranceTimes;
 					int usedAssuranceTimes;
 					std::string description;
 					std::string description;
 					std::string endTime;
 					std::string endTime;
+					std::string resourceGroupId;
 					std::string privatePoolOptionsName;
 					std::string privatePoolOptionsName;
 					std::string latestStartTime;
 					std::string latestStartTime;
 					std::string startTime;
 					std::string startTime;
-					std::string regionId;
 					std::string privatePoolOptionsMatchCriteria;
 					std::string privatePoolOptionsMatchCriteria;
 					std::vector<ElasticityAssuranceItem::AllocatedResource> allocatedResources;
 					std::vector<ElasticityAssuranceItem::AllocatedResource> allocatedResources;
 					std::string privatePoolOptionsId;
 					std::string privatePoolOptionsId;
+					std::string totalAssuranceTimes;
+					std::string regionId;
+					std::vector<ElasticityAssuranceItem::Tag> tags;
 				};
 				};
 
 
 
 

+ 79 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceModificationPriceRequest.h

@@ -0,0 +1,79 @@
+/*
+ * 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_DESCRIBEINSTANCEMODIFICATIONPRICEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMODIFICATIONPRICEREQUEST_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 DescribeInstanceModificationPriceRequest : public RpcServiceRequest
+			{
+			public:
+				struct DataDisk
+				{
+					int size;
+					std::string category;
+					std::string performanceLevel;
+				};
+
+			public:
+				DescribeInstanceModificationPriceRequest();
+				~DescribeInstanceModificationPriceRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSystemDiskCategory()const;
+				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				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<DataDisk> getDataDisk()const;
+				void setDataDisk(const std::vector<DataDisk>& dataDisk);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				long resourceOwnerId_;
+				std::string systemDiskCategory_;
+				std::string regionId_;
+				std::string instanceType_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::vector<DataDisk> dataDisk_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMODIFICATIONPRICEREQUEST_H_

+ 68 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceModificationPriceResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMODIFICATIONPRICERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMODIFICATIONPRICERESULT_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 DescribeInstanceModificationPriceResult : public ServiceResult
+			{
+			public:
+				struct PriceInfo
+				{
+					struct Price
+					{
+						float originalPrice;
+						float discountPrice;
+						std::string currency;
+						float tradePrice;
+					};
+					struct Rule
+					{
+						std::string description;
+						long ruleId;
+					};
+					Price price;
+					std::vector<Rule> rules;
+				};
+
+
+				DescribeInstanceModificationPriceResult();
+				explicit DescribeInstanceModificationPriceResult(const std::string &payload);
+				~DescribeInstanceModificationPriceResult();
+				PriceInfo getPriceInfo()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				PriceInfo priceInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMODIFICATIONPRICERESULT_H_

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h

@@ -56,6 +56,7 @@ namespace AlibabaCloud
 					int initialCredit;
 					int initialCredit;
 					int eniQuantity;
 					int eniQuantity;
 					int gPUAmount;
 					int gPUAmount;
+					int diskQuantity;
 					int baselineCredit;
 					int baselineCredit;
 					std::string instanceFamilyLevel;
 					std::string instanceFamilyLevel;
 					int eniPrivateIpAddressQuantity;
 					int eniPrivateIpAddressQuantity;

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

@@ -49,6 +49,10 @@ namespace AlibabaCloud
 						bool isSupportUnassociate;
 						bool isSupportUnassociate;
 						std::string internetChargeType;
 						std::string internetChargeType;
 					};
 					};
+					struct HibernationOptions
+					{
+						bool configured;
+					};
 					struct DedicatedHostAttribute
 					struct DedicatedHostAttribute
 					{
 					{
 						std::string dedicatedHostId;
 						std::string dedicatedHostId;
@@ -119,6 +123,7 @@ namespace AlibabaCloud
 					std::string hostName;
 					std::string hostName;
 					std::string vlanId;
 					std::string vlanId;
 					std::string status;
 					std::string status;
+					HibernationOptions hibernationOptions;
 					MetadataOptions metadataOptions;
 					MetadataOptions metadataOptions;
 					std::string instanceId;
 					std::string instanceId;
 					std::string stoppedMode;
 					std::string stoppedMode;

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

@@ -91,6 +91,8 @@ namespace AlibabaCloud
 				void setScope(const std::string& scope);
 				void setScope(const std::string& scope);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
+				std::string getDedicatedHostType()const;
+				void setDedicatedHostType(const std::string& dedicatedHostType);
 				std::string getDataDisk2Category()const;
 				std::string getDataDisk2Category()const;
 				void setDataDisk2Category(const std::string& dataDisk2Category);
 				void setDataDisk2Category(const std::string& dataDisk2Category);
 				int getDataDisk1Size()const;
 				int getDataDisk1Size()const;
@@ -143,6 +145,7 @@ namespace AlibabaCloud
 				std::string regionId_;
 				std::string regionId_;
 				std::string scope_;
 				std::string scope_;
 				std::string instanceType_;
 				std::string instanceType_;
+				std::string dedicatedHostType_;
 				std::string dataDisk2Category_;
 				std::string dataDisk2Category_;
 				int dataDisk1Size_;
 				int dataDisk1Size_;
 				int amount_;
 				int amount_;

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

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
 				void setOwnerAccount(const std::string& ownerAccount);
+				int getExpectedRenewDay()const;
+				void setExpectedRenewDay(int expectedRenewDay);
 				long getOwnerId()const;
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				void setOwnerId(long ownerId);
 				std::string getResourceType()const;
 				std::string getResourceType()const;
@@ -62,6 +64,7 @@ namespace AlibabaCloud
 				int period_;
 				int period_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;
+				int expectedRenewDay_;
 				long ownerId_;
 				long ownerId_;
 				std::string resourceType_;
 				std::string resourceType_;
 
 

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

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setSnapshotGroupId(const std::vector<std::string>& snapshotGroupId);
 				void setSnapshotGroupId(const std::vector<std::string>& snapshotGroupId);
 				long getOwnerId()const;
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				void setOwnerId(long ownerId);
+				std::vector<std::string> getAdditionalAttributes()const;
+				void setAdditionalAttributes(const std::vector<std::string>& additionalAttributes);
 				std::string getInstanceId()const;
 				std::string getInstanceId()const;
 				void setInstanceId(const std::string& instanceId);
 				void setInstanceId(const std::string& instanceId);
 				std::string getName()const;
 				std::string getName()const;
@@ -66,6 +68,7 @@ namespace AlibabaCloud
 				std::string ownerAccount_;
 				std::string ownerAccount_;
 				std::vector<std::string> snapshotGroupId_;
 				std::vector<std::string> snapshotGroupId_;
 				long ownerId_;
 				long ownerId_;
+				std::vector<std::string> additionalAttributes_;
 				std::string instanceId_;
 				std::string instanceId_;
 				std::string name_;
 				std::string name_;
 				int maxResults_;
 				int maxResults_;

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeSnapshotGroupsResult.h

@@ -44,6 +44,7 @@ namespace AlibabaCloud
 						std::string sourceDiskId;
 						std::string sourceDiskId;
 					};
 					};
 					std::string status;
 					std::string status;
+					std::string progressStatus;
 					std::string description;
 					std::string description;
 					std::string instanceId;
 					std::string instanceId;
 					std::string creationTime;
 					std::string creationTime;

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

@@ -45,6 +45,8 @@ namespace AlibabaCloud
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
 				void setOwnerAccount(const std::string& ownerAccount);
+				int getExpectedRenewDay()const;
+				void setExpectedRenewDay(int expectedRenewDay);
 				long getOwnerId()const;
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				void setOwnerId(long ownerId);
 				std::string getPeriodUnit()const;
 				std::string getPeriodUnit()const;
@@ -58,6 +60,7 @@ namespace AlibabaCloud
 				int period_;
 				int period_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;
+				int expectedRenewDay_;
 				long ownerId_;
 				long ownerId_;
 				std::string periodUnit_;
 				std::string periodUnit_;
 				std::string instanceId_;
 				std::string instanceId_;

+ 9 - 6
ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h

@@ -126,18 +126,16 @@ namespace AlibabaCloud
 				void setIoOptimized(const std::string& ioOptimized);
 				void setIoOptimized(const std::string& ioOptimized);
 				std::string getSecurityGroupId()const;
 				std::string getSecurityGroupId()const;
 				void setSecurityGroupId(const std::string& securityGroupId);
 				void setSecurityGroupId(const std::string& securityGroupId);
+				bool getHibernationOptionsConfigured()const;
+				void setHibernationOptionsConfigured(bool hibernationOptionsConfigured);
 				std::string getSystemDiskPerformanceLevel()const;
 				std::string getSystemDiskPerformanceLevel()const;
 				void setSystemDiskPerformanceLevel(const std::string& systemDiskPerformanceLevel);
 				void setSystemDiskPerformanceLevel(const std::string& systemDiskPerformanceLevel);
 				bool getPasswordInherit()const;
 				bool getPasswordInherit()const;
 				void setPasswordInherit(bool passwordInherit);
 				void setPasswordInherit(bool passwordInherit);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
-				bool getHibernationConfigured()const;
-				void setHibernationConfigured(bool hibernationConfigured);
 				std::vector<Arn> getArn()const;
 				std::vector<Arn> getArn()const;
 				void setArn(const std::vector<Arn>& arn);
 				void setArn(const std::vector<Arn>& arn);
-				std::string getSchedulerOptions()const;
-				void setSchedulerOptions(const std::string& schedulerOptions);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getSchedulerOptionsDedicatedHostClusterId()const;
 				std::string getSchedulerOptionsDedicatedHostClusterId()const;
@@ -180,6 +178,8 @@ namespace AlibabaCloud
 				void setLaunchTemplateId(const std::string& launchTemplateId);
 				void setLaunchTemplateId(const std::string& launchTemplateId);
 				int getIpv6AddressCount()const;
 				int getIpv6AddressCount()const;
 				void setIpv6AddressCount(int ipv6AddressCount);
 				void setIpv6AddressCount(int ipv6AddressCount);
+				std::vector<std::string> getHostNames()const;
+				void setHostNames(const std::vector<std::string>& hostNames);
 				std::string getCapacityReservationPreference()const;
 				std::string getCapacityReservationPreference()const;
 				void setCapacityReservationPreference(const std::string& capacityReservationPreference);
 				void setCapacityReservationPreference(const std::string& capacityReservationPreference);
 				std::string getVSwitchId()const;
 				std::string getVSwitchId()const;
@@ -200,6 +200,8 @@ namespace AlibabaCloud
 				void setCpuOptionsThreadsPerCore(int cpuOptionsThreadsPerCore);
 				void setCpuOptionsThreadsPerCore(int cpuOptionsThreadsPerCore);
 				std::string getSystemDiskCategory()const;
 				std::string getSystemDiskCategory()const;
 				void setSystemDiskCategory(const std::string& systemDiskCategory);
 				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getSecurityOptionsTrustedSystemMode()const;
+				void setSecurityOptionsTrustedSystemMode(const std::string& securityOptionsTrustedSystemMode);
 				std::string getCapacityReservationId()const;
 				std::string getCapacityReservationId()const;
 				void setCapacityReservationId(const std::string& capacityReservationId);
 				void setCapacityReservationId(const std::string& capacityReservationId);
 				std::string getUserData()const;
 				std::string getUserData()const;
@@ -267,12 +269,11 @@ namespace AlibabaCloud
 				int networkInterfaceQueueNumber_;
 				int networkInterfaceQueueNumber_;
 				std::string ioOptimized_;
 				std::string ioOptimized_;
 				std::string securityGroupId_;
 				std::string securityGroupId_;
+				bool hibernationOptionsConfigured_;
 				std::string systemDiskPerformanceLevel_;
 				std::string systemDiskPerformanceLevel_;
 				bool passwordInherit_;
 				bool passwordInherit_;
 				std::string instanceType_;
 				std::string instanceType_;
-				bool hibernationConfigured_;
 				std::vector<Arn> arn_;
 				std::vector<Arn> arn_;
-				std::string schedulerOptions_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string schedulerOptionsDedicatedHostClusterId_;
 				std::string schedulerOptionsDedicatedHostClusterId_;
 				std::string systemDiskDiskName_;
 				std::string systemDiskDiskName_;
@@ -294,6 +295,7 @@ namespace AlibabaCloud
 				int autoRenewPeriod_;
 				int autoRenewPeriod_;
 				std::string launchTemplateId_;
 				std::string launchTemplateId_;
 				int ipv6AddressCount_;
 				int ipv6AddressCount_;
+				std::vector<std::string> hostNames_;
 				std::string capacityReservationPreference_;
 				std::string capacityReservationPreference_;
 				std::string vSwitchId_;
 				std::string vSwitchId_;
 				std::string instanceName_;
 				std::string instanceName_;
@@ -304,6 +306,7 @@ namespace AlibabaCloud
 				std::string description_;
 				std::string description_;
 				int cpuOptionsThreadsPerCore_;
 				int cpuOptionsThreadsPerCore_;
 				std::string systemDiskCategory_;
 				std::string systemDiskCategory_;
+				std::string securityOptionsTrustedSystemMode_;
 				std::string capacityReservationId_;
 				std::string capacityReservationId_;
 				std::string userData_;
 				std::string userData_;
 				std::string regionId_;
 				std::string regionId_;

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

@@ -39,12 +39,14 @@ namespace AlibabaCloud
 				~RunInstancesResult();
 				~RunInstancesResult();
 				std::vector<std::string> getInstanceIdSets()const;
 				std::vector<std::string> getInstanceIdSets()const;
 				float getTradePrice()const;
 				float getTradePrice()const;
+				std::string getOrderId()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
 				std::vector<std::string> instanceIdSets_;
 				std::vector<std::string> instanceIdSets_;
 				float tradePrice_;
 				float tradePrice_;
+				std::string orderId_;
 
 
 			};
 			};
 		}
 		}

+ 36 - 0
ecs/src/EcsClient.cc

@@ -5235,6 +5235,42 @@ EcsClient::DescribeInstanceMaintenanceAttributesOutcomeCallable EcsClient::descr
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+EcsClient::DescribeInstanceModificationPriceOutcome EcsClient::describeInstanceModificationPrice(const DescribeInstanceModificationPriceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceModificationPriceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceModificationPriceOutcome(DescribeInstanceModificationPriceResult(outcome.result()));
+	else
+		return DescribeInstanceModificationPriceOutcome(outcome.error());
+}
+
+void EcsClient::describeInstanceModificationPriceAsync(const DescribeInstanceModificationPriceRequest& request, const DescribeInstanceModificationPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceModificationPrice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeInstanceModificationPriceOutcomeCallable EcsClient::describeInstanceModificationPriceCallable(const DescribeInstanceModificationPriceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceModificationPriceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceModificationPrice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeInstanceMonitorDataOutcome EcsClient::describeInstanceMonitorData(const DescribeInstanceMonitorDataRequest &request) const
 EcsClient::DescribeInstanceMonitorDataOutcome EcsClient::describeInstanceMonitorData(const DescribeInstanceMonitorDataRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -82,6 +82,17 @@ void AllocateDedicatedHostsRequest::setResourceGroupId(const std::string& resour
 	setParameter("ResourceGroupId", resourceGroupId);
 	setParameter("ResourceGroupId", resourceGroupId);
 }
 }
 
 
+int AllocateDedicatedHostsRequest::getMinQuantity()const
+{
+	return minQuantity_;
+}
+
+void AllocateDedicatedHostsRequest::setMinQuantity(int minQuantity)
+{
+	minQuantity_ = minQuantity;
+	setParameter("MinQuantity", std::to_string(minQuantity));
+}
+
 std::string AllocateDedicatedHostsRequest::getRegionId()const
 std::string AllocateDedicatedHostsRequest::getRegionId()const
 {
 {
 	return regionId_;
 	return regionId_;

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

@@ -128,6 +128,17 @@ void CreateAutoProvisioningGroupRequest::setLaunchConfigurationResourceGroupId(c
 	setParameter("LaunchConfigurationResourceGroupId", launchConfigurationResourceGroupId);
 	setParameter("LaunchConfigurationResourceGroupId", launchConfigurationResourceGroupId);
 }
 }
 
 
+std::string CreateAutoProvisioningGroupRequest::getLaunchConfigurationPassword()const
+{
+	return launchConfigurationPassword_;
+}
+
+void CreateAutoProvisioningGroupRequest::setLaunchConfigurationPassword(const std::string& launchConfigurationPassword)
+{
+	launchConfigurationPassword_ = launchConfigurationPassword;
+	setParameter("LaunchConfigurationPassword", launchConfigurationPassword);
+}
+
 std::string CreateAutoProvisioningGroupRequest::getPayAsYouGoAllocationStrategy()const
 std::string CreateAutoProvisioningGroupRequest::getPayAsYouGoAllocationStrategy()const
 {
 {
 	return payAsYouGoAllocationStrategy_;
 	return payAsYouGoAllocationStrategy_;
@@ -512,6 +523,17 @@ void CreateAutoProvisioningGroupRequest::setLaunchConfigurationTag(const std::ve
 	}
 	}
 }
 }
 
 
+std::string CreateAutoProvisioningGroupRequest::getLaunchConfigurationDeploymentSetId()const
+{
+	return launchConfigurationDeploymentSetId_;
+}
+
+void CreateAutoProvisioningGroupRequest::setLaunchConfigurationDeploymentSetId(const std::string& launchConfigurationDeploymentSetId)
+{
+	launchConfigurationDeploymentSetId_ = launchConfigurationDeploymentSetId;
+	setParameter("LaunchConfigurationDeploymentSetId", launchConfigurationDeploymentSetId);
+}
+
 std::string CreateAutoProvisioningGroupRequest::getResourceOwnerAccount()const
 std::string CreateAutoProvisioningGroupRequest::getResourceOwnerAccount()const
 {
 {
 	return resourceOwnerAccount_;
 	return resourceOwnerAccount_;

+ 27 - 0
ecs/src/model/CreateCapacityReservationRequest.cc

@@ -82,6 +82,17 @@ void CreateCapacityReservationRequest::setPlatform(const std::string& platform)
 	setParameter("Platform", platform);
 	setParameter("Platform", platform);
 }
 }
 
 
+std::string CreateCapacityReservationRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateCapacityReservationRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string CreateCapacityReservationRequest::getPrivatePoolOptionsMatchCriteria()const
 std::string CreateCapacityReservationRequest::getPrivatePoolOptionsMatchCriteria()const
 {
 {
 	return privatePoolOptionsMatchCriteria_;
 	return privatePoolOptionsMatchCriteria_;
@@ -115,6 +126,22 @@ void CreateCapacityReservationRequest::setInstanceType(const std::string& instan
 	setParameter("InstanceType", instanceType);
 	setParameter("InstanceType", instanceType);
 }
 }
 
 
+std::vector<CreateCapacityReservationRequest::Tag> CreateCapacityReservationRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateCapacityReservationRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
 std::string CreateCapacityReservationRequest::getInstanceChargeType()const
 std::string CreateCapacityReservationRequest::getInstanceChargeType()const
 {
 {
 	return instanceChargeType_;
 	return instanceChargeType_;

+ 27 - 0
ecs/src/model/CreateElasticityAssuranceRequest.cc

@@ -82,6 +82,17 @@ void CreateElasticityAssuranceRequest::setPlatform(const std::string& platform)
 	setParameter("Platform", platform);
 	setParameter("Platform", platform);
 }
 }
 
 
+std::string CreateElasticityAssuranceRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateElasticityAssuranceRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string CreateElasticityAssuranceRequest::getPrivatePoolOptionsMatchCriteria()const
 std::string CreateElasticityAssuranceRequest::getPrivatePoolOptionsMatchCriteria()const
 {
 {
 	return privatePoolOptionsMatchCriteria_;
 	return privatePoolOptionsMatchCriteria_;
@@ -117,6 +128,22 @@ void CreateElasticityAssuranceRequest::setInstanceType(const std::vector<std::st
 	}
 	}
 }
 }
 
 
+std::vector<CreateElasticityAssuranceRequest::Tag> CreateElasticityAssuranceRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateElasticityAssuranceRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
 std::string CreateElasticityAssuranceRequest::getInstanceChargeType()const
 std::string CreateElasticityAssuranceRequest::getInstanceChargeType()const
 {
 {
 	return instanceChargeType_;
 	return instanceChargeType_;

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

@@ -461,6 +461,17 @@ void CreateInstanceRequest::setInternetMaxBandwidthOut(int internetMaxBandwidthO
 	setParameter("InternetMaxBandwidthOut", std::to_string(internetMaxBandwidthOut));
 	setParameter("InternetMaxBandwidthOut", std::to_string(internetMaxBandwidthOut));
 }
 }
 
 
+bool CreateInstanceRequest::getHibernationOptionsConfigured()const
+{
+	return hibernationOptionsConfigured_;
+}
+
+void CreateInstanceRequest::setHibernationOptionsConfigured(bool hibernationOptionsConfigured)
+{
+	hibernationOptionsConfigured_ = hibernationOptionsConfigured;
+	setParameter("HibernationOptionsConfigured", hibernationOptionsConfigured ? "true" : "false");
+}
+
 std::string CreateInstanceRequest::getDescription()const
 std::string CreateInstanceRequest::getDescription()const
 {
 {
 	return description_;
 	return description_;

+ 27 - 0
ecs/src/model/DescribeCapacityReservationsRequest.cc

@@ -49,6 +49,17 @@ void DescribeCapacityReservationsRequest::setPlatform(const std::string& platfor
 	setParameter("Platform", platform);
 	setParameter("Platform", platform);
 }
 }
 
 
+std::string DescribeCapacityReservationsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeCapacityReservationsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string DescribeCapacityReservationsRequest::getRegionId()const
 std::string DescribeCapacityReservationsRequest::getRegionId()const
 {
 {
 	return regionId_;
 	return regionId_;
@@ -82,6 +93,22 @@ void DescribeCapacityReservationsRequest::setInstanceType(const std::string& ins
 	setParameter("InstanceType", instanceType);
 	setParameter("InstanceType", instanceType);
 }
 }
 
 
+std::vector<DescribeCapacityReservationsRequest::Tag> DescribeCapacityReservationsRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeCapacityReservationsRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
 std::string DescribeCapacityReservationsRequest::getInstanceChargeType()const
 std::string DescribeCapacityReservationsRequest::getInstanceChargeType()const
 {
 {
 	return instanceChargeType_;
 	return instanceChargeType_;

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

@@ -67,6 +67,8 @@ void DescribeCapacityReservationsResult::parse(const std::string &payload)
 			capacityReservationSetObject.platform = valueCapacityReservationSetCapacityReservationItem["Platform"].asString();
 			capacityReservationSetObject.platform = valueCapacityReservationSetCapacityReservationItem["Platform"].asString();
 		if(!valueCapacityReservationSetCapacityReservationItem["TimeSlot"].isNull())
 		if(!valueCapacityReservationSetCapacityReservationItem["TimeSlot"].isNull())
 			capacityReservationSetObject.timeSlot = valueCapacityReservationSetCapacityReservationItem["TimeSlot"].asString();
 			capacityReservationSetObject.timeSlot = valueCapacityReservationSetCapacityReservationItem["TimeSlot"].asString();
+		if(!valueCapacityReservationSetCapacityReservationItem["ResourceGroupId"].isNull())
+			capacityReservationSetObject.resourceGroupId = valueCapacityReservationSetCapacityReservationItem["ResourceGroupId"].asString();
 		auto allAllocatedResourcesNode = valueCapacityReservationSetCapacityReservationItem["AllocatedResources"]["AllocatedResource"];
 		auto allAllocatedResourcesNode = valueCapacityReservationSetCapacityReservationItem["AllocatedResources"]["AllocatedResource"];
 		for (auto valueCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource : allAllocatedResourcesNode)
 		for (auto valueCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource : allAllocatedResourcesNode)
 		{
 		{
@@ -81,6 +83,16 @@ void DescribeCapacityReservationsResult::parse(const std::string &payload)
 				allocatedResourcesObject.usedAmount = std::stoi(valueCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource["UsedAmount"].asString());
 				allocatedResourcesObject.usedAmount = std::stoi(valueCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource["UsedAmount"].asString());
 			capacityReservationSetObject.allocatedResources.push_back(allocatedResourcesObject);
 			capacityReservationSetObject.allocatedResources.push_back(allocatedResourcesObject);
 		}
 		}
+		auto allTagsNode = valueCapacityReservationSetCapacityReservationItem["Tags"]["Tag"];
+		for (auto valueCapacityReservationSetCapacityReservationItemTagsTag : allTagsNode)
+		{
+			CapacityReservationItem::Tag tagsObject;
+			if(!valueCapacityReservationSetCapacityReservationItemTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = valueCapacityReservationSetCapacityReservationItemTagsTag["TagKey"].asString();
+			if(!valueCapacityReservationSetCapacityReservationItemTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = valueCapacityReservationSetCapacityReservationItemTagsTag["TagValue"].asString();
+			capacityReservationSetObject.tags.push_back(tagsObject);
+		}
 		capacityReservationSet_.push_back(capacityReservationSetObject);
 		capacityReservationSet_.push_back(capacityReservationSetObject);
 	}
 	}
 	if(!value["NextToken"].isNull())
 	if(!value["NextToken"].isNull())

+ 33 - 0
ecs/src/model/DescribeCloudAssistantStatusRequest.cc

@@ -38,6 +38,17 @@ void DescribeCloudAssistantStatusRequest::setResourceOwnerId(long resourceOwnerI
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 }
 
 
+long DescribeCloudAssistantStatusRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeCloudAssistantStatusRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
 std::string DescribeCloudAssistantStatusRequest::getRegionId()const
 std::string DescribeCloudAssistantStatusRequest::getRegionId()const
 {
 {
 	return regionId_;
 	return regionId_;
@@ -49,6 +60,17 @@ void DescribeCloudAssistantStatusRequest::setRegionId(const std::string& regionI
 	setParameter("RegionId", regionId);
 	setParameter("RegionId", regionId);
 }
 }
 
 
+long DescribeCloudAssistantStatusRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeCloudAssistantStatusRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
 std::string DescribeCloudAssistantStatusRequest::getResourceOwnerAccount()const
 std::string DescribeCloudAssistantStatusRequest::getResourceOwnerAccount()const
 {
 {
 	return resourceOwnerAccount_;
 	return resourceOwnerAccount_;
@@ -71,6 +93,17 @@ void DescribeCloudAssistantStatusRequest::setOwnerAccount(const std::string& own
 	setParameter("OwnerAccount", ownerAccount);
 	setParameter("OwnerAccount", ownerAccount);
 }
 }
 
 
+std::string DescribeCloudAssistantStatusRequest::getOSType()const
+{
+	return oSType_;
+}
+
+void DescribeCloudAssistantStatusRequest::setOSType(const std::string& oSType)
+{
+	oSType_ = oSType;
+	setParameter("OSType", oSType);
+}
+
 long DescribeCloudAssistantStatusRequest::getOwnerId()const
 long DescribeCloudAssistantStatusRequest::getOwnerId()const
 {
 {
 	return ownerId_;
 	return ownerId_;

+ 29 - 0
ecs/src/model/DescribeCloudAssistantStatusResult.cc

@@ -45,17 +45,46 @@ void DescribeCloudAssistantStatusResult::parse(const std::string &payload)
 		InstanceCloudAssistantStatus instanceCloudAssistantStatusSetObject;
 		InstanceCloudAssistantStatus instanceCloudAssistantStatusSetObject;
 		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["InstanceId"].isNull())
 		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["InstanceId"].isNull())
 			instanceCloudAssistantStatusSetObject.instanceId = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["InstanceId"].asString();
 			instanceCloudAssistantStatusSetObject.instanceId = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["InstanceId"].asString();
+		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["OSType"].isNull())
+			instanceCloudAssistantStatusSetObject.oSType = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["OSType"].asString();
 		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantStatus"].isNull())
 		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantStatus"].isNull())
 			instanceCloudAssistantStatusSetObject.cloudAssistantStatus = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantStatus"].asString();
 			instanceCloudAssistantStatusSetObject.cloudAssistantStatus = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantStatus"].asString();
 		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantVersion"].isNull())
 		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantVersion"].isNull())
 			instanceCloudAssistantStatusSetObject.cloudAssistantVersion = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantVersion"].asString();
 			instanceCloudAssistantStatusSetObject.cloudAssistantVersion = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["CloudAssistantVersion"].asString();
+		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["InvocationCount"].isNull())
+			instanceCloudAssistantStatusSetObject.invocationCount = std::stol(valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["InvocationCount"].asString());
+		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["ActiveTaskCount"].isNull())
+			instanceCloudAssistantStatusSetObject.activeTaskCount = std::stol(valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["ActiveTaskCount"].asString());
+		if(!valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["LastInvokedTime"].isNull())
+			instanceCloudAssistantStatusSetObject.lastInvokedTime = valueInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus["LastInvokedTime"].asString();
 		instanceCloudAssistantStatusSet_.push_back(instanceCloudAssistantStatusSetObject);
 		instanceCloudAssistantStatusSet_.push_back(instanceCloudAssistantStatusSetObject);
 	}
 	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
 
 
 }
 }
 
 
+long DescribeCloudAssistantStatusResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribeCloudAssistantStatusResult::getPageSize()const
+{
+	return pageSize_;
+}
+
 std::vector<DescribeCloudAssistantStatusResult::InstanceCloudAssistantStatus> DescribeCloudAssistantStatusResult::getInstanceCloudAssistantStatusSet()const
 std::vector<DescribeCloudAssistantStatusResult::InstanceCloudAssistantStatus> DescribeCloudAssistantStatusResult::getInstanceCloudAssistantStatusSet()const
 {
 {
 	return instanceCloudAssistantStatusSet_;
 	return instanceCloudAssistantStatusSet_;
 }
 }
 
 
+long DescribeCloudAssistantStatusResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 27 - 0
ecs/src/model/DescribeElasticityAssurancesRequest.cc

@@ -49,6 +49,17 @@ void DescribeElasticityAssurancesRequest::setPlatform(const std::string& platfor
 	setParameter("Platform", platform);
 	setParameter("Platform", platform);
 }
 }
 
 
+std::string DescribeElasticityAssurancesRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeElasticityAssurancesRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string DescribeElasticityAssurancesRequest::getRegionId()const
 std::string DescribeElasticityAssurancesRequest::getRegionId()const
 {
 {
 	return regionId_;
 	return regionId_;
@@ -82,6 +93,22 @@ void DescribeElasticityAssurancesRequest::setInstanceType(const std::string& ins
 	setParameter("InstanceType", instanceType);
 	setParameter("InstanceType", instanceType);
 }
 }
 
 
+std::vector<DescribeElasticityAssurancesRequest::Tag> DescribeElasticityAssurancesRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeElasticityAssurancesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
 std::string DescribeElasticityAssurancesRequest::getInstanceChargeType()const
 std::string DescribeElasticityAssurancesRequest::getInstanceChargeType()const
 {
 {
 	return instanceChargeType_;
 	return instanceChargeType_;

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

@@ -65,6 +65,8 @@ void DescribeElasticityAssurancesResult::parse(const std::string &payload)
 			elasticityAssuranceSetObject.endTime = valueElasticityAssuranceSetElasticityAssuranceItem["EndTime"].asString();
 			elasticityAssuranceSetObject.endTime = valueElasticityAssuranceSetElasticityAssuranceItem["EndTime"].asString();
 		if(!valueElasticityAssuranceSetElasticityAssuranceItem["LatestStartTime"].isNull())
 		if(!valueElasticityAssuranceSetElasticityAssuranceItem["LatestStartTime"].isNull())
 			elasticityAssuranceSetObject.latestStartTime = valueElasticityAssuranceSetElasticityAssuranceItem["LatestStartTime"].asString();
 			elasticityAssuranceSetObject.latestStartTime = valueElasticityAssuranceSetElasticityAssuranceItem["LatestStartTime"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["ResourceGroupId"].isNull())
+			elasticityAssuranceSetObject.resourceGroupId = valueElasticityAssuranceSetElasticityAssuranceItem["ResourceGroupId"].asString();
 		auto allAllocatedResourcesNode = valueElasticityAssuranceSetElasticityAssuranceItem["AllocatedResources"]["AllocatedResource"];
 		auto allAllocatedResourcesNode = valueElasticityAssuranceSetElasticityAssuranceItem["AllocatedResources"]["AllocatedResource"];
 		for (auto valueElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource : allAllocatedResourcesNode)
 		for (auto valueElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource : allAllocatedResourcesNode)
 		{
 		{
@@ -79,6 +81,16 @@ void DescribeElasticityAssurancesResult::parse(const std::string &payload)
 				allocatedResourcesObject.usedAmount = std::stoi(valueElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource["UsedAmount"].asString());
 				allocatedResourcesObject.usedAmount = std::stoi(valueElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource["UsedAmount"].asString());
 			elasticityAssuranceSetObject.allocatedResources.push_back(allocatedResourcesObject);
 			elasticityAssuranceSetObject.allocatedResources.push_back(allocatedResourcesObject);
 		}
 		}
+		auto allTagsNode = valueElasticityAssuranceSetElasticityAssuranceItem["Tags"]["Tag"];
+		for (auto valueElasticityAssuranceSetElasticityAssuranceItemTagsTag : allTagsNode)
+		{
+			ElasticityAssuranceItem::Tag tagsObject;
+			if(!valueElasticityAssuranceSetElasticityAssuranceItemTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = valueElasticityAssuranceSetElasticityAssuranceItemTagsTag["TagKey"].asString();
+			if(!valueElasticityAssuranceSetElasticityAssuranceItemTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = valueElasticityAssuranceSetElasticityAssuranceItemTagsTag["TagValue"].asString();
+			elasticityAssuranceSetObject.tags.push_back(tagsObject);
+		}
 		elasticityAssuranceSet_.push_back(elasticityAssuranceSetObject);
 		elasticityAssuranceSet_.push_back(elasticityAssuranceSetObject);
 	}
 	}
 	if(!value["NextToken"].isNull())
 	if(!value["NextToken"].isNull())

+ 134 - 0
ecs/src/model/DescribeInstanceModificationPriceRequest.cc

@@ -0,0 +1,134 @@
+/*
+ * 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/DescribeInstanceModificationPriceRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeInstanceModificationPriceRequest;
+
+DescribeInstanceModificationPriceRequest::DescribeInstanceModificationPriceRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeInstanceModificationPrice")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceModificationPriceRequest::~DescribeInstanceModificationPriceRequest()
+{}
+
+long DescribeInstanceModificationPriceRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeInstanceModificationPriceRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeInstanceModificationPriceRequest::getSystemDiskCategory()const
+{
+	return systemDiskCategory_;
+}
+
+void DescribeInstanceModificationPriceRequest::setSystemDiskCategory(const std::string& systemDiskCategory)
+{
+	systemDiskCategory_ = systemDiskCategory;
+	setParameter("SystemDiskCategory", systemDiskCategory);
+}
+
+std::string DescribeInstanceModificationPriceRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeInstanceModificationPriceRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeInstanceModificationPriceRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void DescribeInstanceModificationPriceRequest::setInstanceType(const std::string& instanceType)
+{
+	instanceType_ = instanceType;
+	setParameter("InstanceType", instanceType);
+}
+
+std::string DescribeInstanceModificationPriceRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeInstanceModificationPriceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeInstanceModificationPriceRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeInstanceModificationPriceRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeInstanceModificationPriceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeInstanceModificationPriceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<DescribeInstanceModificationPriceRequest::DataDisk> DescribeInstanceModificationPriceRequest::getDataDisk()const
+{
+	return dataDisk_;
+}
+
+void DescribeInstanceModificationPriceRequest::setDataDisk(const std::vector<DataDisk>& dataDisk)
+{
+	dataDisk_ = dataDisk;
+	for(int dep1 = 0; dep1!= dataDisk.size(); dep1++) {
+		auto dataDiskObj = dataDisk.at(dep1);
+		std::string dataDiskObjStr = "DataDisk." + std::to_string(dep1 + 1);
+		setParameter(dataDiskObjStr + ".Size", std::to_string(dataDiskObj.size));
+		setParameter(dataDiskObjStr + ".Category", dataDiskObj.category);
+		setParameter(dataDiskObjStr + ".PerformanceLevel", dataDiskObj.performanceLevel);
+	}
+}
+
+std::string DescribeInstanceModificationPriceRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeInstanceModificationPriceRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

+ 69 - 0
ecs/src/model/DescribeInstanceModificationPriceResult.cc

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DescribeInstanceModificationPriceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeInstanceModificationPriceResult::DescribeInstanceModificationPriceResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceModificationPriceResult::DescribeInstanceModificationPriceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceModificationPriceResult::~DescribeInstanceModificationPriceResult()
+{}
+
+void DescribeInstanceModificationPriceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto priceInfoNode = value["PriceInfo"];
+	auto allRulesNode = priceInfoNode["Rules"]["Rule"];
+	for (auto priceInfoNodeRulesRule : allRulesNode)
+	{
+		PriceInfo::Rule ruleObject;
+		if(!priceInfoNodeRulesRule["RuleId"].isNull())
+			ruleObject.ruleId = std::stol(priceInfoNodeRulesRule["RuleId"].asString());
+		if(!priceInfoNodeRulesRule["Description"].isNull())
+			ruleObject.description = priceInfoNodeRulesRule["Description"].asString();
+		priceInfo_.rules.push_back(ruleObject);
+	}
+	auto priceNode = priceInfoNode["Price"];
+	if(!priceNode["OriginalPrice"].isNull())
+		priceInfo_.price.originalPrice = std::stof(priceNode["OriginalPrice"].asString());
+	if(!priceNode["DiscountPrice"].isNull())
+		priceInfo_.price.discountPrice = std::stof(priceNode["DiscountPrice"].asString());
+	if(!priceNode["TradePrice"].isNull())
+		priceInfo_.price.tradePrice = std::stof(priceNode["TradePrice"].asString());
+	if(!priceNode["Currency"].isNull())
+		priceInfo_.price.currency = priceNode["Currency"].asString();
+
+}
+
+DescribeInstanceModificationPriceResult::PriceInfo DescribeInstanceModificationPriceResult::getPriceInfo()const
+{
+	return priceInfo_;
+}
+

+ 2 - 0
ecs/src/model/DescribeInstanceTypesResult.cc

@@ -93,6 +93,8 @@ void DescribeInstanceTypesResult::parse(const std::string &payload)
 			instanceTypesObject.primaryEniQueueNumber = std::stoi(valueInstanceTypesInstanceType["PrimaryEniQueueNumber"].asString());
 			instanceTypesObject.primaryEniQueueNumber = std::stoi(valueInstanceTypesInstanceType["PrimaryEniQueueNumber"].asString());
 		if(!valueInstanceTypesInstanceType["SecondaryEniQueueNumber"].isNull())
 		if(!valueInstanceTypesInstanceType["SecondaryEniQueueNumber"].isNull())
 			instanceTypesObject.secondaryEniQueueNumber = std::stoi(valueInstanceTypesInstanceType["SecondaryEniQueueNumber"].asString());
 			instanceTypesObject.secondaryEniQueueNumber = std::stoi(valueInstanceTypesInstanceType["SecondaryEniQueueNumber"].asString());
+		if(!valueInstanceTypesInstanceType["DiskQuantity"].isNull())
+			instanceTypesObject.diskQuantity = std::stoi(valueInstanceTypesInstanceType["DiskQuantity"].asString());
 		instanceTypes_.push_back(instanceTypesObject);
 		instanceTypes_.push_back(instanceTypesObject);
 	}
 	}
 
 

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

@@ -210,6 +210,9 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.eipAddress.internetChargeType = eipAddressNode["InternetChargeType"].asString();
 			instancesObject.eipAddress.internetChargeType = eipAddressNode["InternetChargeType"].asString();
 		if(!eipAddressNode["IsSupportUnassociate"].isNull())
 		if(!eipAddressNode["IsSupportUnassociate"].isNull())
 			instancesObject.eipAddress.isSupportUnassociate = eipAddressNode["IsSupportUnassociate"].asString() == "true";
 			instancesObject.eipAddress.isSupportUnassociate = eipAddressNode["IsSupportUnassociate"].asString() == "true";
+		auto hibernationOptionsNode = value["HibernationOptions"];
+		if(!hibernationOptionsNode["Configured"].isNull())
+			instancesObject.hibernationOptions.configured = hibernationOptionsNode["Configured"].asString() == "true";
 		auto dedicatedHostAttributeNode = value["DedicatedHostAttribute"];
 		auto dedicatedHostAttributeNode = value["DedicatedHostAttribute"];
 		if(!dedicatedHostAttributeNode["DedicatedHostId"].isNull())
 		if(!dedicatedHostAttributeNode["DedicatedHostId"].isNull())
 			instancesObject.dedicatedHostAttribute.dedicatedHostId = dedicatedHostAttributeNode["DedicatedHostId"].asString();
 			instancesObject.dedicatedHostAttribute.dedicatedHostId = dedicatedHostAttributeNode["DedicatedHostId"].asString();

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

@@ -337,6 +337,17 @@ void DescribePriceRequest::setInstanceType(const std::string& instanceType)
 	setParameter("InstanceType", instanceType);
 	setParameter("InstanceType", instanceType);
 }
 }
 
 
+std::string DescribePriceRequest::getDedicatedHostType()const
+{
+	return dedicatedHostType_;
+}
+
+void DescribePriceRequest::setDedicatedHostType(const std::string& dedicatedHostType)
+{
+	dedicatedHostType_ = dedicatedHostType;
+	setParameter("DedicatedHostType", dedicatedHostType);
+}
+
 std::string DescribePriceRequest::getDataDisk2Category()const
 std::string DescribePriceRequest::getDataDisk2Category()const
 {
 {
 	return dataDisk2Category_;
 	return dataDisk2Category_;

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

@@ -104,6 +104,17 @@ void DescribeRenewalPriceRequest::setOwnerAccount(const std::string& ownerAccoun
 	setParameter("OwnerAccount", ownerAccount);
 	setParameter("OwnerAccount", ownerAccount);
 }
 }
 
 
+int DescribeRenewalPriceRequest::getExpectedRenewDay()const
+{
+	return expectedRenewDay_;
+}
+
+void DescribeRenewalPriceRequest::setExpectedRenewDay(int expectedRenewDay)
+{
+	expectedRenewDay_ = expectedRenewDay;
+	setParameter("ExpectedRenewDay", std::to_string(expectedRenewDay));
+}
+
 long DescribeRenewalPriceRequest::getOwnerId()const
 long DescribeRenewalPriceRequest::getOwnerId()const
 {
 {
 	return ownerId_;
 	return ownerId_;

+ 13 - 0
ecs/src/model/DescribeSnapshotGroupsRequest.cc

@@ -106,6 +106,19 @@ void DescribeSnapshotGroupsRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 }
 
 
+std::vector<std::string> DescribeSnapshotGroupsRequest::getAdditionalAttributes()const
+{
+	return additionalAttributes_;
+}
+
+void DescribeSnapshotGroupsRequest::setAdditionalAttributes(const std::vector<std::string>& additionalAttributes)
+{
+	additionalAttributes_ = additionalAttributes;
+	for(int dep1 = 0; dep1!= additionalAttributes.size(); dep1++) {
+		setParameter("AdditionalAttributes."+ std::to_string(dep1), additionalAttributes.at(dep1));
+	}
+}
+
 std::string DescribeSnapshotGroupsRequest::getInstanceId()const
 std::string DescribeSnapshotGroupsRequest::getInstanceId()const
 {
 {
 	return instanceId_;
 	return instanceId_;

+ 2 - 0
ecs/src/model/DescribeSnapshotGroupsResult.cc

@@ -55,6 +55,8 @@ void DescribeSnapshotGroupsResult::parse(const std::string &payload)
 			snapshotGroupsObject.description = valueSnapshotGroupsSnapshotGroup["Description"].asString();
 			snapshotGroupsObject.description = valueSnapshotGroupsSnapshotGroup["Description"].asString();
 		if(!valueSnapshotGroupsSnapshotGroup["CreationTime"].isNull())
 		if(!valueSnapshotGroupsSnapshotGroup["CreationTime"].isNull())
 			snapshotGroupsObject.creationTime = valueSnapshotGroupsSnapshotGroup["CreationTime"].asString();
 			snapshotGroupsObject.creationTime = valueSnapshotGroupsSnapshotGroup["CreationTime"].asString();
+		if(!valueSnapshotGroupsSnapshotGroup["ProgressStatus"].isNull())
+			snapshotGroupsObject.progressStatus = valueSnapshotGroupsSnapshotGroup["ProgressStatus"].asString();
 		auto allSnapshotsNode = valueSnapshotGroupsSnapshotGroup["Snapshots"]["Snapshot"];
 		auto allSnapshotsNode = valueSnapshotGroupsSnapshotGroup["Snapshots"]["Snapshot"];
 		for (auto valueSnapshotGroupsSnapshotGroupSnapshotsSnapshot : allSnapshotsNode)
 		for (auto valueSnapshotGroupsSnapshotGroupSnapshotsSnapshot : allSnapshotsNode)
 		{
 		{

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

@@ -82,6 +82,17 @@ void RenewInstanceRequest::setOwnerAccount(const std::string& ownerAccount)
 	setParameter("OwnerAccount", ownerAccount);
 	setParameter("OwnerAccount", ownerAccount);
 }
 }
 
 
+int RenewInstanceRequest::getExpectedRenewDay()const
+{
+	return expectedRenewDay_;
+}
+
+void RenewInstanceRequest::setExpectedRenewDay(int expectedRenewDay)
+{
+	expectedRenewDay_ = expectedRenewDay;
+	setParameter("ExpectedRenewDay", std::to_string(expectedRenewDay));
+}
+
 long RenewInstanceRequest::getOwnerId()const
 long RenewInstanceRequest::getOwnerId()const
 {
 {
 	return ownerId_;
 	return ownerId_;

+ 35 - 22
ecs/src/model/RunInstancesRequest.cc

@@ -324,6 +324,17 @@ void RunInstancesRequest::setSecurityGroupId(const std::string& securityGroupId)
 	setParameter("SecurityGroupId", securityGroupId);
 	setParameter("SecurityGroupId", securityGroupId);
 }
 }
 
 
+bool RunInstancesRequest::getHibernationOptionsConfigured()const
+{
+	return hibernationOptionsConfigured_;
+}
+
+void RunInstancesRequest::setHibernationOptionsConfigured(bool hibernationOptionsConfigured)
+{
+	hibernationOptionsConfigured_ = hibernationOptionsConfigured;
+	setParameter("HibernationOptionsConfigured", hibernationOptionsConfigured ? "true" : "false");
+}
+
 std::string RunInstancesRequest::getSystemDiskPerformanceLevel()const
 std::string RunInstancesRequest::getSystemDiskPerformanceLevel()const
 {
 {
 	return systemDiskPerformanceLevel_;
 	return systemDiskPerformanceLevel_;
@@ -357,17 +368,6 @@ void RunInstancesRequest::setInstanceType(const std::string& instanceType)
 	setParameter("InstanceType", instanceType);
 	setParameter("InstanceType", instanceType);
 }
 }
 
 
-bool RunInstancesRequest::getHibernationConfigured()const
-{
-	return hibernationConfigured_;
-}
-
-void RunInstancesRequest::setHibernationConfigured(bool hibernationConfigured)
-{
-	hibernationConfigured_ = hibernationConfigured;
-	setParameter("HibernationConfigured", hibernationConfigured ? "true" : "false");
-}
-
 std::vector<RunInstancesRequest::Arn> RunInstancesRequest::getArn()const
 std::vector<RunInstancesRequest::Arn> RunInstancesRequest::getArn()const
 {
 {
 	return arn_;
 	return arn_;
@@ -385,17 +385,6 @@ void RunInstancesRequest::setArn(const std::vector<Arn>& arn)
 	}
 	}
 }
 }
 
 
-std::string RunInstancesRequest::getSchedulerOptions()const
-{
-	return schedulerOptions_;
-}
-
-void RunInstancesRequest::setSchedulerOptions(const std::string& schedulerOptions)
-{
-	schedulerOptions_ = schedulerOptions;
-	setParameter("SchedulerOptions", schedulerOptions);
-}
-
 std::string RunInstancesRequest::getResourceOwnerAccount()const
 std::string RunInstancesRequest::getResourceOwnerAccount()const
 {
 {
 	return resourceOwnerAccount_;
 	return resourceOwnerAccount_;
@@ -634,6 +623,19 @@ void RunInstancesRequest::setIpv6AddressCount(int ipv6AddressCount)
 	setParameter("Ipv6AddressCount", std::to_string(ipv6AddressCount));
 	setParameter("Ipv6AddressCount", std::to_string(ipv6AddressCount));
 }
 }
 
 
+std::vector<std::string> RunInstancesRequest::getHostNames()const
+{
+	return hostNames_;
+}
+
+void RunInstancesRequest::setHostNames(const std::vector<std::string>& hostNames)
+{
+	hostNames_ = hostNames;
+	for(int dep1 = 0; dep1!= hostNames.size(); dep1++) {
+		setParameter("HostNames."+ std::to_string(dep1), hostNames.at(dep1));
+	}
+}
+
 std::string RunInstancesRequest::getCapacityReservationPreference()const
 std::string RunInstancesRequest::getCapacityReservationPreference()const
 {
 {
 	return capacityReservationPreference_;
 	return capacityReservationPreference_;
@@ -746,6 +748,17 @@ void RunInstancesRequest::setSystemDiskCategory(const std::string& systemDiskCat
 	setParameter("SystemDiskCategory", systemDiskCategory);
 	setParameter("SystemDiskCategory", systemDiskCategory);
 }
 }
 
 
+std::string RunInstancesRequest::getSecurityOptionsTrustedSystemMode()const
+{
+	return securityOptionsTrustedSystemMode_;
+}
+
+void RunInstancesRequest::setSecurityOptionsTrustedSystemMode(const std::string& securityOptionsTrustedSystemMode)
+{
+	securityOptionsTrustedSystemMode_ = securityOptionsTrustedSystemMode;
+	setParameter("SecurityOptionsTrustedSystemMode", securityOptionsTrustedSystemMode);
+}
+
 std::string RunInstancesRequest::getCapacityReservationId()const
 std::string RunInstancesRequest::getCapacityReservationId()const
 {
 {
 	return capacityReservationId_;
 	return capacityReservationId_;

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

@@ -44,6 +44,8 @@ void RunInstancesResult::parse(const std::string &payload)
 		instanceIdSets_.push_back(item.asString());
 		instanceIdSets_.push_back(item.asString());
 	if(!value["TradePrice"].isNull())
 	if(!value["TradePrice"].isNull())
 		tradePrice_ = std::stof(value["TradePrice"].asString());
 		tradePrice_ = std::stof(value["TradePrice"].asString());
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
 
 
 }
 }
 
 
@@ -57,3 +59,8 @@ float RunInstancesResult::getTradePrice()const
 	return tradePrice_;
 	return tradePrice_;
 }
 }
 
 
+std::string RunInstancesResult::getOrderId()const
+{
+	return orderId_;
+}
+