Просмотр исходного кода

Support systemdisk encrypt and arns.

sdk-team 4 лет назад
Родитель
Сommit
a607d32bc9
53 измененных файлов с 706 добавлено и 187 удалено
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 4 0
      ecs/CMakeLists.txt
  4. 8 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 16 0
      ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h
  6. 84 0
      ecs/include/alibabacloud/ecs/model/CreateDiagnosticReportRequest.h
  7. 63 0
      ecs/include/alibabacloud/ecs/model/CreateDiagnosticReportResult.h
  8. 3 0
      ecs/include/alibabacloud/ecs/model/CreateImageRequest.h
  9. 3 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h
  10. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeAccountAttributesRequest.h
  11. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h
  12. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h
  13. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeCommandsRequest.h
  14. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeImagesResult.h
  15. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
  16. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesRequest.h
  17. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  18. 16 45
      ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h
  19. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeRecommendInstanceTypeRequest.h
  20. 6 0
      ecs/include/alibabacloud/ecs/model/ModifySnapshotAttributeRequest.h
  21. 3 0
      ecs/include/alibabacloud/ecs/model/RedeployDedicatedHostRequest.h
  22. 3 0
      ecs/include/alibabacloud/ecs/model/RunCommandRequest.h
  23. 36 0
      ecs/src/EcsClient.cc
  24. 1 1
      ecs/src/model/AddTagsRequest.cc
  25. 26 0
      ecs/src/model/CreateAutoProvisioningGroupRequest.cc
  26. 160 0
      ecs/src/model/CreateDiagnosticReportRequest.cc
  27. 82 0
      ecs/src/model/CreateDiagnosticReportResult.cc
  28. 1 1
      ecs/src/model/CreateDiskRequest.cc
  29. 10 1
      ecs/src/model/CreateImageRequest.cc
  30. 4 1
      ecs/src/model/CreateInstanceRequest.cc
  31. 1 1
      ecs/src/model/CreateSecurityGroupRequest.cc
  32. 1 1
      ecs/src/model/CreateSnapshotRequest.cc
  33. 9 0
      ecs/src/model/DescribeAccountAttributesRequest.cc
  34. 9 0
      ecs/src/model/DescribeAutoSnapshotPolicyExRequest.cc
  35. 17 0
      ecs/src/model/DescribeAvailableResourceRequest.cc
  36. 9 0
      ecs/src/model/DescribeCommandsRequest.cc
  37. 1 1
      ecs/src/model/DescribeDisksRequest.cc
  38. 1 1
      ecs/src/model/DescribeImagesRequest.cc
  39. 2 0
      ecs/src/model/DescribeImagesResult.cc
  40. 2 0
      ecs/src/model/DescribeInstanceHistoryEventsResult.cc
  41. 12 0
      ecs/src/model/DescribeInstanceTypesRequest.cc
  42. 1 1
      ecs/src/model/DescribeInstancesRequest.cc
  43. 2 0
      ecs/src/model/DescribeInstancesResult.cc
  44. 16 127
      ecs/src/model/DescribePriceRequest.cc
  45. 17 0
      ecs/src/model/DescribeRecommendInstanceTypeRequest.cc
  46. 1 1
      ecs/src/model/DescribeResourceByTagsRequest.cc
  47. 1 1
      ecs/src/model/DescribeSecurityGroupsRequest.cc
  48. 1 1
      ecs/src/model/DescribeSnapshotsRequest.cc
  49. 1 1
      ecs/src/model/DescribeTagsRequest.cc
  50. 18 0
      ecs/src/model/ModifySnapshotAttributeRequest.cc
  51. 9 0
      ecs/src/model/RedeployDedicatedHostRequest.cc
  52. 1 1
      ecs/src/model/RemoveTagsRequest.cc
  53. 9 0
      ecs/src/model/RunCommandRequest.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2022-05-23 Version: 1.36.1131
+- Support systemdisk encrypt and arns.
+- Update tag parameters.
+
 2022-05-19 Version: 1.36.1130
 - Update SubscribeBillToOSS and QueryBillToOSSSubscription to support BucketPath.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1130
+1.36.1131

+ 4 - 0
ecs/CMakeLists.txt

@@ -97,6 +97,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/CreateDemandResult.h
 	include/alibabacloud/ecs/model/CreateDeploymentSetRequest.h
 	include/alibabacloud/ecs/model/CreateDeploymentSetResult.h
+	include/alibabacloud/ecs/model/CreateDiagnosticReportRequest.h
+	include/alibabacloud/ecs/model/CreateDiagnosticReportResult.h
 	include/alibabacloud/ecs/model/CreateDiskRequest.h
 	include/alibabacloud/ecs/model/CreateDiskResult.h
 	include/alibabacloud/ecs/model/CreateElasticityAssuranceRequest.h
@@ -770,6 +772,8 @@ set(ecs_src
 	src/model/CreateDemandResult.cc
 	src/model/CreateDeploymentSetRequest.cc
 	src/model/CreateDeploymentSetResult.cc
+	src/model/CreateDiagnosticReportRequest.cc
+	src/model/CreateDiagnosticReportResult.cc
 	src/model/CreateDiskRequest.cc
 	src/model/CreateDiskResult.cc
 	src/model/CreateElasticityAssuranceRequest.cc

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

@@ -98,6 +98,8 @@
 #include "model/CreateDemandResult.h"
 #include "model/CreateDeploymentSetRequest.h"
 #include "model/CreateDeploymentSetResult.h"
+#include "model/CreateDiagnosticReportRequest.h"
+#include "model/CreateDiagnosticReportResult.h"
 #include "model/CreateDiskRequest.h"
 #include "model/CreateDiskResult.h"
 #include "model/CreateElasticityAssuranceRequest.h"
@@ -815,6 +817,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateDeploymentSetResult> CreateDeploymentSetOutcome;
 			typedef std::future<CreateDeploymentSetOutcome> CreateDeploymentSetOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateDeploymentSetRequest&, const CreateDeploymentSetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDeploymentSetAsyncHandler;
+			typedef Outcome<Error, Model::CreateDiagnosticReportResult> CreateDiagnosticReportOutcome;
+			typedef std::future<CreateDiagnosticReportOutcome> CreateDiagnosticReportOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateDiagnosticReportRequest&, const CreateDiagnosticReportOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDiagnosticReportAsyncHandler;
 			typedef Outcome<Error, Model::CreateDiskResult> CreateDiskOutcome;
 			typedef std::future<CreateDiskOutcome> CreateDiskOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateDiskRequest&, const CreateDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDiskAsyncHandler;
@@ -1825,6 +1830,9 @@ namespace AlibabaCloud
 			CreateDeploymentSetOutcome createDeploymentSet(const Model::CreateDeploymentSetRequest &request)const;
 			void createDeploymentSetAsync(const Model::CreateDeploymentSetRequest& request, const CreateDeploymentSetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDeploymentSetOutcomeCallable createDeploymentSetCallable(const Model::CreateDeploymentSetRequest& request) const;
+			CreateDiagnosticReportOutcome createDiagnosticReport(const Model::CreateDiagnosticReportRequest &request)const;
+			void createDiagnosticReportAsync(const Model::CreateDiagnosticReportRequest& request, const CreateDiagnosticReportAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDiagnosticReportOutcomeCallable createDiagnosticReportCallable(const Model::CreateDiagnosticReportRequest& request) const;
 			CreateDiskOutcome createDisk(const Model::CreateDiskRequest &request)const;
 			void createDiskAsync(const Model::CreateDiskRequest& request, const CreateDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDiskOutcomeCallable createDiskCallable(const Model::CreateDiskRequest& request) const;

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

@@ -46,6 +46,16 @@ public:
 	struct DataDiskConfig {
 		std::string diskCategory;
 	};
+	struct LaunchConfigurationArn {
+		std::string rolearn;
+		std::string roleType;
+		long assumeRoleFor;
+	};
+	struct LaunchConfigurationSystemDisk {
+		std::string encrypted;
+		std::string kMSKeyId;
+		std::string encryptAlgorithm;
+	};
 	struct LaunchTemplateConfig {
 		std::string vSwitchId;
 		double maxPrice;
@@ -107,6 +117,8 @@ public:
 	void setMinTargetCapacity(const std::string &minTargetCapacity);
 	float getMaxSpotPrice() const;
 	void setMaxSpotPrice(float maxSpotPrice);
+	std::vector<LaunchConfigurationArn> getLaunchConfigurationArn() const;
+	void setLaunchConfigurationArn(const std::vector<LaunchConfigurationArn> &launchConfigurationArn);
 	bool getLaunchConfigurationPasswordInherit() const;
 	void setLaunchConfigurationPasswordInherit(bool launchConfigurationPasswordInherit);
 	std::string getClientToken() const;
@@ -121,6 +133,8 @@ public:
 	void setLaunchConfigurationUserData(const std::string &launchConfigurationUserData);
 	std::string getLaunchConfigurationCreditSpecification() const;
 	void setLaunchConfigurationCreditSpecification(const std::string &launchConfigurationCreditSpecification);
+	LaunchConfigurationSystemDisk getLaunchConfigurationSystemDisk() const;
+	void setLaunchConfigurationSystemDisk(const LaunchConfigurationSystemDisk &launchConfigurationSystemDisk);
 	std::string getLaunchConfigurationInstanceName() const;
 	void setLaunchConfigurationInstanceName(const std::string &launchConfigurationInstanceName);
 	std::string getLaunchConfigurationInstanceDescription() const;
@@ -199,6 +213,7 @@ private:
 	std::string launchConfigurationHostName_;
 	std::string minTargetCapacity_;
 	float maxSpotPrice_;
+	std::vector<LaunchConfigurationArn> launchConfigurationArn_;
 	bool launchConfigurationPasswordInherit_;
 	std::string clientToken_;
 	std::string launchConfigurationSecurityGroupId_;
@@ -206,6 +221,7 @@ private:
 	bool terminateInstancesWithExpiration_;
 	std::string launchConfigurationUserData_;
 	std::string launchConfigurationCreditSpecification_;
+	LaunchConfigurationSystemDisk launchConfigurationSystemDisk_;
 	std::string launchConfigurationInstanceName_;
 	std::string launchConfigurationInstanceDescription_;
 	std::string spotAllocationStrategy_;

+ 84 - 0
ecs/include/alibabacloud/ecs/model/CreateDiagnosticReportRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_CREATEDIAGNOSTICREPORTREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEDIAGNOSTICREPORTREQUEST_H_
+
+#include <alibabacloud/ecs/EcsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ecs {
+namespace Model {
+class ALIBABACLOUD_ECS_EXPORT CreateDiagnosticReportRequest : public RpcServiceRequest {
+public:
+	CreateDiagnosticReportRequest();
+	~CreateDiagnosticReportRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	std::string getSourceSystem() const;
+	void setSourceSystem(const std::string &sourceSystem);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getPluginVersion() const;
+	void setPluginVersion(const std::string &pluginVersion);
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::vector<std::string> getCommandName() const;
+	void setCommandName(const std::vector<std::string> &commandName);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getCommandType() const;
+	void setCommandType(const std::string &commandType);
+	std::string getDiagnosticCategory() const;
+	void setDiagnosticCategory(const std::string &diagnosticCategory);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string startTime_;
+	std::string sourceSystem_;
+	std::string regionId_;
+	std::string pluginVersion_;
+	std::vector<std::string> resourceId_;
+	std::vector<std::string> commandName_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	std::string endTime_;
+	long ownerId_;
+	std::string resourceType_;
+	std::string commandType_;
+	std::string diagnosticCategory_;
+};
+} // namespace Model
+} // namespace Ecs
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEDIAGNOSTICREPORTREQUEST_H_

+ 63 - 0
ecs/include/alibabacloud/ecs/model/CreateDiagnosticReportResult.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_CREATEDIAGNOSTICREPORTRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEDIAGNOSTICREPORTRESULT_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 CreateDiagnosticReportResult : public ServiceResult
+			{
+			public:
+				struct InvokeResult
+				{
+					std::string commandName;
+					std::string invokeResult;
+					std::string dataFileDir;
+				};
+
+
+				CreateDiagnosticReportResult();
+				explicit CreateDiagnosticReportResult(const std::string &payload);
+				~CreateDiagnosticReportResult();
+				std::string getStatus()const;
+				std::vector<InvokeResult> getCommandInvokeResults()const;
+				std::string getCreateTime()const;
+				std::string getReportId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string status_;
+				std::vector<InvokeResult> commandInvokeResults_;
+				std::string createTime_;
+				std::string reportId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEDIAGNOSTICREPORTRESULT_H_

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

@@ -54,6 +54,8 @@ public:
 	void setPlatform(const std::string &platform);
 	std::string getResourceGroupId() const;
 	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getBootMode() const;
+	void setBootMode(const std::string &bootMode);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getImageName() const;
@@ -83,6 +85,7 @@ private:
 	std::string description_;
 	std::string platform_;
 	std::string resourceGroupId_;
+	std::string bootMode_;
 	std::string regionId_;
 	std::string imageName_;
 	std::vector<Tag> tag_;

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

@@ -29,7 +29,10 @@ namespace Model {
 class ALIBABACLOUD_ECS_EXPORT CreateInstanceRequest : public RpcServiceRequest {
 public:
 	struct SystemDisk {
+		bool encrypted;
+		std::string encryptAlgorithm;
 		std::string storageClusterId;
+		std::string kMSKeyId;
 	};
 	struct Tag {
 		std::string value;

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

@@ -38,6 +38,8 @@ public:
 	void setRegionId(const std::string &regionId);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getBizAliUid() const;
+	void setBizAliUid(const std::string &bizAliUid);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
 	std::string getZoneId() const;
@@ -48,6 +50,7 @@ private:
 	std::vector<std::string> attributeName_;
 	std::string regionId_;
 	std::string resourceOwnerAccount_;
+	std::string bizAliUid_;
 	long ownerId_;
 	std::string zoneId_;
 };

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

@@ -54,6 +54,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::string getAutoSnapshotPolicyName() const;
+	void setAutoSnapshotPolicyName(const std::string &autoSnapshotPolicyName);
 
 private:
 	long resourceOwnerId_;
@@ -66,6 +68,7 @@ private:
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	std::string autoSnapshotPolicyName_;
 };
 } // namespace Model
 } // namespace Ecs

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

@@ -32,6 +32,8 @@ public:
 	~DescribeAvailableResourceRequest();
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
+	bool getNeedInventoryScore() const;
+	void setNeedInventoryScore(bool needInventoryScore);
 	float getMemory() const;
 	void setMemory(float memory);
 	std::string getIoOptimized() const;
@@ -52,6 +54,8 @@ public:
 	void setNetworkCategory(const std::string &networkCategory);
 	std::string getInstanceChargeType() const;
 	void setInstanceChargeType(const std::string &instanceChargeType);
+	std::vector<std::string> getInstanceFeatureOptions() const;
+	void setInstanceFeatureOptions(const std::vector<std::string> &instanceFeatureOptions);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -73,6 +77,7 @@ public:
 
 private:
 	long resourceOwnerId_;
+	bool needInventoryScore_;
 	float memory_;
 	std::string ioOptimized_;
 	std::string dataDiskCategory_;
@@ -83,6 +88,7 @@ private:
 	std::string instanceType_;
 	std::string networkCategory_;
 	std::string instanceChargeType_;
+	std::vector<std::string> instanceFeatureOptions_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	std::string dedicatedHostId_;

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

@@ -48,6 +48,8 @@ public:
 	void setContentEncoding(const std::string &contentEncoding);
 	long getPageSize() const;
 	void setPageSize(long pageSize);
+	bool getLatest() const;
+	void setLatest(bool latest);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -67,6 +69,7 @@ private:
 	std::string provider_;
 	std::string contentEncoding_;
 	long pageSize_;
+	bool latest_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

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

@@ -58,6 +58,7 @@ namespace AlibabaCloud
 					std::string platform;
 					int size;
 					bool isSubscribed;
+					std::string bootMode;
 					std::string oSName;
 					bool isPublic;
 					std::string imageId;

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

@@ -54,6 +54,7 @@ namespace AlibabaCloud
 							std::string creationTime;
 							std::string deviceCategory;
 						};
+						std::string rack;
 						std::string hostType;
 						std::string device;
 						std::string hostId;

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

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DescribeInstanceTypesRequest : public RpcServiceRequest {
 public:
+	struct Filters {
+		std::string name;
+		std::string value;
+	};
 	DescribeInstanceTypesRequest();
 	~DescribeInstanceTypesRequest();
 	long getResourceOwnerId() const;
@@ -42,6 +46,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	std::string getInstanceTypeFamily() const;
 	void setInstanceTypeFamily(const std::string &instanceTypeFamily);
+	std::vector<Filters> getFilters() const;
+	void setFilters(const std::vector<Filters> &filters);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
 	long getMaxResults() const;
@@ -54,6 +60,7 @@ private:
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	std::string instanceTypeFamily_;
+	std::vector<Filters> filters_;
 	long ownerId_;
 	long maxResults_;
 };

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

@@ -140,6 +140,7 @@ namespace AlibabaCloud
 					std::string internetChargeType;
 					std::string deploymentSetId;
 					std::string instanceName;
+					std::string spotInterruptionBehavior;
 					int internetMaxBandwidthOut;
 					std::string serialNumber;
 					std::string oSType;

+ 16 - 45
ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h

@@ -28,24 +28,28 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DescribePriceRequest : public RpcServiceRequest {
 public:
+	struct SystemDisk {
+		int size;
+		std::string performanceLevel;
+		std::string category;
+	};
+	struct DataDisk {
+		int size;
+		std::string performanceLevel;
+		std::string category;
+	};
 	DescribePriceRequest();
 	~DescribePriceRequest();
-	int getDataDisk3Size() const;
-	void setDataDisk3Size(int dataDisk3Size);
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
-	std::string getDataDisk3Category() const;
-	void setDataDisk3Category(const std::string &dataDisk3Category);
 	std::string getIsp() const;
 	void setIsp(const std::string &isp);
-	int getDataDisk4Size() const;
-	void setDataDisk4Size(int dataDisk4Size);
+	SystemDisk getSystemDisk() const;
+	void setSystemDisk(const SystemDisk &systemDisk);
 	std::string getPriceUnit() const;
 	void setPriceUnit(const std::string &priceUnit);
 	int getPeriod() const;
 	void setPeriod(int period);
-	std::string getDataDisk1PerformanceLevel() const;
-	void setDataDisk1PerformanceLevel(const std::string &dataDisk1PerformanceLevel);
 	std::string getAssuranceTimes() const;
 	void setAssuranceTimes(const std::string &assuranceTimes);
 	long getOwnerId() const;
@@ -64,26 +68,16 @@ public:
 	void setInstanceAmount(int instanceAmount);
 	std::vector<std::string> getInstanceTypeList() const;
 	void setInstanceTypeList(const std::vector<std::string> &instanceTypeList);
-	std::string getDataDisk3PerformanceLevel() const;
-	void setDataDisk3PerformanceLevel(const std::string &dataDisk3PerformanceLevel);
 	std::string getImageId() const;
 	void setImageId(const std::string &imageId);
 	std::string getIoOptimized() const;
 	void setIoOptimized(const std::string &ioOptimized);
 	int getInternetMaxBandwidthOut() const;
 	void setInternetMaxBandwidthOut(int internetMaxBandwidthOut);
-	std::string getSystemDiskCategory() const;
-	void setSystemDiskCategory(const std::string &systemDiskCategory);
 	std::string getPlatform() const;
 	void setPlatform(const std::string &platform);
 	int getCapacity() const;
 	void setCapacity(int capacity);
-	std::string getSystemDiskPerformanceLevel() const;
-	void setSystemDiskPerformanceLevel(const std::string &systemDiskPerformanceLevel);
-	std::string getDataDisk4Category() const;
-	void setDataDisk4Category(const std::string &dataDisk4Category);
-	std::string getDataDisk4PerformanceLevel() const;
-	void setDataDisk4PerformanceLevel(const std::string &dataDisk4PerformanceLevel);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getScope() const;
@@ -92,40 +86,27 @@ public:
 	void setInstanceType(const std::string &instanceType);
 	std::string getDedicatedHostType() const;
 	void setDedicatedHostType(const std::string &dedicatedHostType);
-	std::string getDataDisk2Category() const;
-	void setDataDisk2Category(const std::string &dataDisk2Category);
-	int getDataDisk1Size() const;
-	void setDataDisk1Size(int dataDisk1Size);
 	int getAmount() const;
 	void setAmount(int amount);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
 	void setOwnerAccount(const std::string &ownerAccount);
-	int getDataDisk2Size() const;
-	void setDataDisk2Size(int dataDisk2Size);
 	int getSpotDuration() const;
 	void setSpotDuration(int spotDuration);
 	std::string getResourceType() const;
 	void setResourceType(const std::string &resourceType);
-	std::string getDataDisk1Category() const;
-	void setDataDisk1Category(const std::string &dataDisk1Category);
-	std::string getDataDisk2PerformanceLevel() const;
-	void setDataDisk2PerformanceLevel(const std::string &dataDisk2PerformanceLevel);
-	int getSystemDiskSize() const;
-	void setSystemDiskSize(int systemDiskSize);
+	std::vector<DataDisk> getDataDisk() const;
+	void setDataDisk(const std::vector<DataDisk> &dataDisk);
 	std::string getOfferingType() const;
 	void setOfferingType(const std::string &offeringType);
 
 private:
-	int dataDisk3Size_;
 	long resourceOwnerId_;
-	std::string dataDisk3Category_;
 	std::string isp_;
-	int dataDisk4Size_;
+	SystemDisk systemDisk_;
 	std::string priceUnit_;
 	int period_;
-	std::string dataDisk1PerformanceLevel_;
 	std::string assuranceTimes_;
 	long ownerId_;
 	int instanceCpuCoreCount_;
@@ -135,31 +116,21 @@ private:
 	std::string instanceNetworkType_;
 	int instanceAmount_;
 	std::vector<std::string> instanceTypeList_;
-	std::string dataDisk3PerformanceLevel_;
 	std::string imageId_;
 	std::string ioOptimized_;
 	int internetMaxBandwidthOut_;
-	std::string systemDiskCategory_;
 	std::string platform_;
 	int capacity_;
-	std::string systemDiskPerformanceLevel_;
-	std::string dataDisk4Category_;
-	std::string dataDisk4PerformanceLevel_;
 	std::string regionId_;
 	std::string scope_;
 	std::string instanceType_;
 	std::string dedicatedHostType_;
-	std::string dataDisk2Category_;
-	int dataDisk1Size_;
 	int amount_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
-	int dataDisk2Size_;
 	int spotDuration_;
 	std::string resourceType_;
-	std::string dataDisk1Category_;
-	std::string dataDisk2PerformanceLevel_;
-	int systemDiskSize_;
+	std::vector<DataDisk> dataDisk_;
 	std::string offeringType_;
 };
 } // namespace Model

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

@@ -42,6 +42,8 @@ public:
 	void setScene(const std::string &scene);
 	int getCores() const;
 	void setCores(int cores);
+	std::vector<std::string> getZoneIds() const;
+	void setZoneIds(const std::vector<std::string> &zoneIds);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getSystemDiskCategory() const;
@@ -68,6 +70,8 @@ public:
 	void setPriorityStrategy(const std::string &priorityStrategy);
 	std::string getInstanceFamilyLevel() const;
 	void setInstanceFamilyLevel(const std::string &instanceFamilyLevel);
+	bool getInstanceTypeSupportIPv6() const;
+	void setInstanceTypeSupportIPv6(bool instanceTypeSupportIPv6);
 	std::string getZoneId() const;
 	void setZoneId(const std::string &zoneId);
 
@@ -78,6 +82,7 @@ private:
 	std::string networkType_;
 	std::string scene_;
 	int cores_;
+	std::vector<std::string> zoneIds_;
 	std::string regionId_;
 	std::string systemDiskCategory_;
 	std::string instanceType_;
@@ -91,6 +96,7 @@ private:
 	std::string spotStrategy_;
 	std::string priorityStrategy_;
 	std::string instanceFamilyLevel_;
+	bool instanceTypeSupportIPv6_;
 	std::string zoneId_;
 };
 } // namespace Model

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

@@ -38,6 +38,8 @@ public:
 	void setDescription(const std::string &description);
 	std::string getSnapshotName() const;
 	void setSnapshotName(const std::string &snapshotName);
+	long getInstantAccessRetentionDays() const;
+	void setInstantAccessRetentionDays(long instantAccessRetentionDays);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -46,16 +48,20 @@ public:
 	void setOwnerId(long ownerId);
 	bool getDisableInstantAccess() const;
 	void setDisableInstantAccess(bool disableInstantAccess);
+	long getRetentionDays() const;
+	void setRetentionDays(long retentionDays);
 
 private:
 	long resourceOwnerId_;
 	std::string snapshotId_;
 	std::string description_;
 	std::string snapshotName_;
+	long instantAccessRetentionDays_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
 	bool disableInstantAccess_;
+	long retentionDays_;
 };
 } // namespace Model
 } // namespace Ecs

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

@@ -42,6 +42,8 @@ public:
 	void setDedicatedHostId(const std::string &dedicatedHostId);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	bool getWaiveLocalDiskData() const;
+	void setWaiveLocalDiskData(bool waiveLocalDiskData);
 
 private:
 	long resourceOwnerId_;
@@ -50,6 +52,7 @@ private:
 	std::string ownerAccount_;
 	std::string dedicatedHostId_;
 	long ownerId_;
+	bool waiveLocalDiskData_;
 };
 } // namespace Model
 } // namespace Ecs

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

@@ -56,6 +56,8 @@ public:
 	void setKeepCommand(bool keepCommand);
 	bool getTimed() const;
 	void setTimed(bool timed);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -87,6 +89,7 @@ private:
 	std::string windowsPasswordName_;
 	bool keepCommand_;
 	bool timed_;
+	bool dryRun_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

+ 36 - 0
ecs/src/EcsClient.cc

@@ -1419,6 +1419,42 @@ EcsClient::CreateDeploymentSetOutcomeCallable EcsClient::createDeploymentSetCall
 	return task->get_future();
 }
 
+EcsClient::CreateDiagnosticReportOutcome EcsClient::createDiagnosticReport(const CreateDiagnosticReportRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDiagnosticReportOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDiagnosticReportOutcome(CreateDiagnosticReportResult(outcome.result()));
+	else
+		return CreateDiagnosticReportOutcome(outcome.error());
+}
+
+void EcsClient::createDiagnosticReportAsync(const CreateDiagnosticReportRequest& request, const CreateDiagnosticReportAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDiagnosticReport(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::CreateDiagnosticReportOutcomeCallable EcsClient::createDiagnosticReportCallable(const CreateDiagnosticReportRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDiagnosticReportOutcome()>>(
+			[this, request]()
+			{
+			return this->createDiagnosticReport(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CreateDiskOutcome EcsClient::createDisk(const CreateDiskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 1 - 1
ecs/src/model/AddTagsRequest.cc

@@ -52,7 +52,7 @@ void AddTagsRequest::setTag(const std::vector<AddTagsRequest::Tag> &tag) {
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

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

@@ -260,6 +260,21 @@ void CreateAutoProvisioningGroupRequest::setMaxSpotPrice(float maxSpotPrice) {
   setParameter(std::string("MaxSpotPrice"), std::to_string(maxSpotPrice));
 }
 
+std::vector<CreateAutoProvisioningGroupRequest::LaunchConfigurationArn> CreateAutoProvisioningGroupRequest::getLaunchConfigurationArn() const {
+  return launchConfigurationArn_;
+}
+
+void CreateAutoProvisioningGroupRequest::setLaunchConfigurationArn(const std::vector<CreateAutoProvisioningGroupRequest::LaunchConfigurationArn> &launchConfigurationArn) {
+  launchConfigurationArn_ = launchConfigurationArn;
+  for(int dep1 = 0; dep1 != launchConfigurationArn.size(); dep1++) {
+  auto launchConfigurationArnObj = launchConfigurationArn.at(dep1);
+  std::string launchConfigurationArnObjStr = std::string("LaunchConfiguration.Arn") + "." + std::to_string(dep1 + 1);
+    setParameter(launchConfigurationArnObjStr + ".Rolearn", launchConfigurationArnObj.rolearn);
+    setParameter(launchConfigurationArnObjStr + ".RoleType", launchConfigurationArnObj.roleType);
+    setParameter(launchConfigurationArnObjStr + ".AssumeRoleFor", std::to_string(launchConfigurationArnObj.assumeRoleFor));
+  }
+}
+
 bool CreateAutoProvisioningGroupRequest::getLaunchConfigurationPasswordInherit() const {
   return launchConfigurationPasswordInherit_;
 }
@@ -323,6 +338,17 @@ void CreateAutoProvisioningGroupRequest::setLaunchConfigurationCreditSpecificati
   setParameter(std::string("LaunchConfiguration.CreditSpecification"), launchConfigurationCreditSpecification);
 }
 
+CreateAutoProvisioningGroupRequest::LaunchConfigurationSystemDisk CreateAutoProvisioningGroupRequest::getLaunchConfigurationSystemDisk() const {
+  return launchConfigurationSystemDisk_;
+}
+
+void CreateAutoProvisioningGroupRequest::setLaunchConfigurationSystemDisk(const CreateAutoProvisioningGroupRequest::LaunchConfigurationSystemDisk &launchConfigurationSystemDisk) {
+  launchConfigurationSystemDisk_ = launchConfigurationSystemDisk;
+  setParameter(std::string("LaunchConfiguration.SystemDisk") + ".Encrypted", launchConfigurationSystemDisk.encrypted);
+  setParameter(std::string("LaunchConfiguration.SystemDisk") + ".KMSKeyId", launchConfigurationSystemDisk.kMSKeyId);
+  setParameter(std::string("LaunchConfiguration.SystemDisk") + ".EncryptAlgorithm", launchConfigurationSystemDisk.encryptAlgorithm);
+}
+
 std::string CreateAutoProvisioningGroupRequest::getLaunchConfigurationInstanceName() const {
   return launchConfigurationInstanceName_;
 }

+ 160 - 0
ecs/src/model/CreateDiagnosticReportRequest.cc

@@ -0,0 +1,160 @@
+/*
+ * 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/CreateDiagnosticReportRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateDiagnosticReportRequest;
+
+CreateDiagnosticReportRequest::CreateDiagnosticReportRequest()
+    : RpcServiceRequest("ecs", "2014-05-26", "CreateDiagnosticReport") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateDiagnosticReportRequest::~CreateDiagnosticReportRequest() {}
+
+long CreateDiagnosticReportRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void CreateDiagnosticReportRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string CreateDiagnosticReportRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateDiagnosticReportRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string CreateDiagnosticReportRequest::getStartTime() const {
+  return startTime_;
+}
+
+void CreateDiagnosticReportRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+std::string CreateDiagnosticReportRequest::getSourceSystem() const {
+  return sourceSystem_;
+}
+
+void CreateDiagnosticReportRequest::setSourceSystem(const std::string &sourceSystem) {
+  sourceSystem_ = sourceSystem;
+  setParameter(std::string("SourceSystem"), sourceSystem);
+}
+
+std::string CreateDiagnosticReportRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateDiagnosticReportRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string CreateDiagnosticReportRequest::getPluginVersion() const {
+  return pluginVersion_;
+}
+
+void CreateDiagnosticReportRequest::setPluginVersion(const std::string &pluginVersion) {
+  pluginVersion_ = pluginVersion;
+  setParameter(std::string("PluginVersion"), pluginVersion);
+}
+
+std::vector<std::string> CreateDiagnosticReportRequest::getResourceId() const {
+  return resourceId_;
+}
+
+void CreateDiagnosticReportRequest::setResourceId(const std::vector<std::string> &resourceId) {
+  resourceId_ = resourceId;
+}
+
+std::vector<std::string> CreateDiagnosticReportRequest::getCommandName() const {
+  return commandName_;
+}
+
+void CreateDiagnosticReportRequest::setCommandName(const std::vector<std::string> &commandName) {
+  commandName_ = commandName;
+}
+
+std::string CreateDiagnosticReportRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void CreateDiagnosticReportRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string CreateDiagnosticReportRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void CreateDiagnosticReportRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+std::string CreateDiagnosticReportRequest::getEndTime() const {
+  return endTime_;
+}
+
+void CreateDiagnosticReportRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long CreateDiagnosticReportRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreateDiagnosticReportRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string CreateDiagnosticReportRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void CreateDiagnosticReportRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string CreateDiagnosticReportRequest::getCommandType() const {
+  return commandType_;
+}
+
+void CreateDiagnosticReportRequest::setCommandType(const std::string &commandType) {
+  commandType_ = commandType;
+  setParameter(std::string("CommandType"), commandType);
+}
+
+std::string CreateDiagnosticReportRequest::getDiagnosticCategory() const {
+  return diagnosticCategory_;
+}
+
+void CreateDiagnosticReportRequest::setDiagnosticCategory(const std::string &diagnosticCategory) {
+  diagnosticCategory_ = diagnosticCategory;
+  setParameter(std::string("DiagnosticCategory"), diagnosticCategory);
+}
+

+ 82 - 0
ecs/src/model/CreateDiagnosticReportResult.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/CreateDiagnosticReportResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+CreateDiagnosticReportResult::CreateDiagnosticReportResult() :
+	ServiceResult()
+{}
+
+CreateDiagnosticReportResult::CreateDiagnosticReportResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDiagnosticReportResult::~CreateDiagnosticReportResult()
+{}
+
+void CreateDiagnosticReportResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allCommandInvokeResultsNode = value["CommandInvokeResults"]["InvokeResult"];
+	for (auto valueCommandInvokeResultsInvokeResult : allCommandInvokeResultsNode)
+	{
+		InvokeResult commandInvokeResultsObject;
+		if(!valueCommandInvokeResultsInvokeResult["DataFileDir"].isNull())
+			commandInvokeResultsObject.dataFileDir = valueCommandInvokeResultsInvokeResult["DataFileDir"].asString();
+		if(!valueCommandInvokeResultsInvokeResult["InvokeResult"].isNull())
+			commandInvokeResultsObject.invokeResult = valueCommandInvokeResultsInvokeResult["InvokeResult"].asString();
+		if(!valueCommandInvokeResultsInvokeResult["CommandName"].isNull())
+			commandInvokeResultsObject.commandName = valueCommandInvokeResultsInvokeResult["CommandName"].asString();
+		commandInvokeResults_.push_back(commandInvokeResultsObject);
+	}
+	if(!value["Status"].isNull())
+		status_ = value["Status"].asString();
+	if(!value["ReportId"].isNull())
+		reportId_ = value["ReportId"].asString();
+	if(!value["CreateTime"].isNull())
+		createTime_ = value["CreateTime"].asString();
+
+}
+
+std::string CreateDiagnosticReportResult::getStatus()const
+{
+	return status_;
+}
+
+std::vector<CreateDiagnosticReportResult::InvokeResult> CreateDiagnosticReportResult::getCommandInvokeResults()const
+{
+	return commandInvokeResults_;
+}
+
+std::string CreateDiagnosticReportResult::getCreateTime()const
+{
+	return createTime_;
+}
+
+std::string CreateDiagnosticReportResult::getReportId()const
+{
+	return reportId_;
+}
+

+ 1 - 1
ecs/src/model/CreateDiskRequest.cc

@@ -133,7 +133,7 @@ void CreateDiskRequest::setTag(const std::vector<CreateDiskRequest::Tag> &tag) {
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 10 - 1
ecs/src/model/CreateImageRequest.cc

@@ -95,6 +95,15 @@ void CreateImageRequest::setResourceGroupId(const std::string &resourceGroupId)
   setParameter(std::string("ResourceGroupId"), resourceGroupId);
 }
 
+std::string CreateImageRequest::getBootMode() const {
+  return bootMode_;
+}
+
+void CreateImageRequest::setBootMode(const std::string &bootMode) {
+  bootMode_ = bootMode;
+  setParameter(std::string("BootMode"), bootMode);
+}
+
 std::string CreateImageRequest::getRegionId() const {
   return regionId_;
 }
@@ -122,7 +131,7 @@ void CreateImageRequest::setTag(const std::vector<CreateImageRequest::Tag> &tag)
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 4 - 1
ecs/src/model/CreateInstanceRequest.cc

@@ -130,7 +130,10 @@ CreateInstanceRequest::SystemDisk CreateInstanceRequest::getSystemDisk() const {
 
 void CreateInstanceRequest::setSystemDisk(const CreateInstanceRequest::SystemDisk &systemDisk) {
   systemDisk_ = systemDisk;
+  setParameter(std::string("SystemDisk") + ".Encrypted", systemDisk.encrypted ? "true" : "false");
+  setParameter(std::string("SystemDisk") + ".EncryptAlgorithm", systemDisk.encryptAlgorithm);
   setParameter(std::string("SystemDisk") + ".StorageClusterId", systemDisk.storageClusterId);
+  setParameter(std::string("SystemDisk") + ".KMSKeyId", systemDisk.kMSKeyId);
 }
 
 int CreateInstanceRequest::getDeploymentSetGroupNo() const {
@@ -160,7 +163,7 @@ void CreateInstanceRequest::setTag(const std::vector<CreateInstanceRequest::Tag>
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 1 - 1
ecs/src/model/CreateSecurityGroupRequest.cc

@@ -97,7 +97,7 @@ void CreateSecurityGroupRequest::setTag(const std::vector<CreateSecurityGroupReq
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 1 - 1
ecs/src/model/CreateSnapshotRequest.cc

@@ -106,7 +106,7 @@ void CreateSnapshotRequest::setTag(const std::vector<CreateSnapshotRequest::Tag>
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

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

@@ -60,6 +60,15 @@ void DescribeAccountAttributesRequest::setResourceOwnerAccount(const std::string
   setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
 }
 
+std::string DescribeAccountAttributesRequest::getBizAliUid() const {
+  return bizAliUid_;
+}
+
+void DescribeAccountAttributesRequest::setBizAliUid(const std::string &bizAliUid) {
+  bizAliUid_ = bizAliUid;
+  setParameter(std::string("BizAliUid"), bizAliUid);
+}
+
 long DescribeAccountAttributesRequest::getOwnerId() const {
   return ownerId_;
 }

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

@@ -120,3 +120,12 @@ void DescribeAutoSnapshotPolicyExRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::string DescribeAutoSnapshotPolicyExRequest::getAutoSnapshotPolicyName() const {
+  return autoSnapshotPolicyName_;
+}
+
+void DescribeAutoSnapshotPolicyExRequest::setAutoSnapshotPolicyName(const std::string &autoSnapshotPolicyName) {
+  autoSnapshotPolicyName_ = autoSnapshotPolicyName;
+  setParameter(std::string("AutoSnapshotPolicyName"), autoSnapshotPolicyName);
+}
+

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

@@ -34,6 +34,15 @@ void DescribeAvailableResourceRequest::setResourceOwnerId(long resourceOwnerId)
   setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
 }
 
+bool DescribeAvailableResourceRequest::getNeedInventoryScore() const {
+  return needInventoryScore_;
+}
+
+void DescribeAvailableResourceRequest::setNeedInventoryScore(bool needInventoryScore) {
+  needInventoryScore_ = needInventoryScore;
+  setParameter(std::string("NeedInventoryScore"), needInventoryScore ? "true" : "false");
+}
+
 float DescribeAvailableResourceRequest::getMemory() const {
   return memory_;
 }
@@ -124,6 +133,14 @@ void DescribeAvailableResourceRequest::setInstanceChargeType(const std::string &
   setParameter(std::string("InstanceChargeType"), instanceChargeType);
 }
 
+std::vector<std::string> DescribeAvailableResourceRequest::getInstanceFeatureOptions() const {
+  return instanceFeatureOptions_;
+}
+
+void DescribeAvailableResourceRequest::setInstanceFeatureOptions(const std::vector<std::string> &instanceFeatureOptions) {
+  instanceFeatureOptions_ = instanceFeatureOptions;
+}
+
 std::string DescribeAvailableResourceRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

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

@@ -106,6 +106,15 @@ void DescribeCommandsRequest::setPageSize(long pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+bool DescribeCommandsRequest::getLatest() const {
+  return latest_;
+}
+
+void DescribeCommandsRequest::setLatest(bool latest) {
+  latest_ = latest;
+  setParameter(std::string("Latest"), latest ? "true" : "false");
+}
+
 std::string DescribeCommandsRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 1 - 1
ecs/src/model/DescribeDisksRequest.cc

@@ -115,7 +115,7 @@ void DescribeDisksRequest::setTag(const std::vector<DescribeDisksRequest::Tag> &
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 1 - 1
ecs/src/model/DescribeImagesRequest.cc

@@ -178,7 +178,7 @@ void DescribeImagesRequest::setTag(const std::vector<DescribeImagesRequest::Tag>
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

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

@@ -89,6 +89,8 @@ void DescribeImagesResult::parse(const std::string &payload)
 			imagesObject.productCode = valueImagesImage["ProductCode"].asString();
 		if(!valueImagesImage["Architecture"].isNull())
 			imagesObject.architecture = valueImagesImage["Architecture"].asString();
+		if(!valueImagesImage["BootMode"].isNull())
+			imagesObject.bootMode = valueImagesImage["BootMode"].asString();
 		if(!valueImagesImage["IsPublic"].isNull())
 			imagesObject.isPublic = valueImagesImage["IsPublic"].asString() == "true";
 		if(!valueImagesImage["ImageOwnerId"].isNull())

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

@@ -80,6 +80,8 @@ void DescribeInstanceHistoryEventsResult::parse(const std::string &payload)
 			instanceSystemEventSetObject.extendedAttribute.hostId = extendedAttributeNode["HostId"].asString();
 		if(!extendedAttributeNode["OnlineRepairPolicy"].isNull())
 			instanceSystemEventSetObject.extendedAttribute.onlineRepairPolicy = extendedAttributeNode["OnlineRepairPolicy"].asString();
+		if(!extendedAttributeNode["Rack"].isNull())
+			instanceSystemEventSetObject.extendedAttribute.rack = extendedAttributeNode["Rack"].asString();
 		auto allInactiveDisksNode = extendedAttributeNode["InactiveDisks"]["InactiveDisk"];
 		for (auto extendedAttributeNodeInactiveDisksInactiveDisk : allInactiveDisksNode)
 		{

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

@@ -78,6 +78,18 @@ void DescribeInstanceTypesRequest::setInstanceTypeFamily(const std::string &inst
   setParameter(std::string("InstanceTypeFamily"), instanceTypeFamily);
 }
 
+std::vector<DescribeInstanceTypesRequest::Filters> DescribeInstanceTypesRequest::getFilters() const {
+  return filters_;
+}
+
+void DescribeInstanceTypesRequest::setFilters(const std::vector<DescribeInstanceTypesRequest::Filters> &filters) {
+  filters_ = filters;
+  for(int dep1 = 0; dep1 != filters.size(); dep1++) {
+    setParameter(std::string("Filters") + "." + std::to_string(dep1 + 1) + ".Name", filters[dep1].name);
+    setParameter(std::string("Filters") + "." + std::to_string(dep1 + 1) + ".Value", filters[dep1].value);
+  }
+}
+
 long DescribeInstanceTypesRequest::getOwnerId() const {
   return ownerId_;
 }

+ 1 - 1
ecs/src/model/DescribeInstancesRequest.cc

@@ -133,7 +133,7 @@ void DescribeInstancesRequest::setTag(const std::vector<DescribeInstancesRequest
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

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

@@ -137,6 +137,8 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.instanceTypeFamily = valueInstancesInstance["InstanceTypeFamily"].asString();
 		if(!valueInstancesInstance["OSType"].isNull())
 			instancesObject.oSType = valueInstancesInstance["OSType"].asString();
+		if(!valueInstancesInstance["SpotInterruptionBehavior"].isNull())
+			instancesObject.spotInterruptionBehavior = valueInstancesInstance["SpotInterruptionBehavior"].asString();
 		auto allNetworkInterfacesNode = valueInstancesInstance["NetworkInterfaces"]["NetworkInterface"];
 		for (auto valueInstancesInstanceNetworkInterfacesNetworkInterface : allNetworkInterfacesNode)
 		{

+ 16 - 127
ecs/src/model/DescribePriceRequest.cc

@@ -25,15 +25,6 @@ DescribePriceRequest::DescribePriceRequest()
 
 DescribePriceRequest::~DescribePriceRequest() {}
 
-int DescribePriceRequest::getDataDisk3Size() const {
-  return dataDisk3Size_;
-}
-
-void DescribePriceRequest::setDataDisk3Size(int dataDisk3Size) {
-  dataDisk3Size_ = dataDisk3Size;
-  setParameter(std::string("DataDisk.3.Size"), std::to_string(dataDisk3Size));
-}
-
 long DescribePriceRequest::getResourceOwnerId() const {
   return resourceOwnerId_;
 }
@@ -43,15 +34,6 @@ void DescribePriceRequest::setResourceOwnerId(long resourceOwnerId) {
   setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
 }
 
-std::string DescribePriceRequest::getDataDisk3Category() const {
-  return dataDisk3Category_;
-}
-
-void DescribePriceRequest::setDataDisk3Category(const std::string &dataDisk3Category) {
-  dataDisk3Category_ = dataDisk3Category;
-  setParameter(std::string("DataDisk.3.Category"), dataDisk3Category);
-}
-
 std::string DescribePriceRequest::getIsp() const {
   return isp_;
 }
@@ -61,13 +43,15 @@ void DescribePriceRequest::setIsp(const std::string &isp) {
   setParameter(std::string("Isp"), isp);
 }
 
-int DescribePriceRequest::getDataDisk4Size() const {
-  return dataDisk4Size_;
+DescribePriceRequest::SystemDisk DescribePriceRequest::getSystemDisk() const {
+  return systemDisk_;
 }
 
-void DescribePriceRequest::setDataDisk4Size(int dataDisk4Size) {
-  dataDisk4Size_ = dataDisk4Size;
-  setParameter(std::string("DataDisk.4.Size"), std::to_string(dataDisk4Size));
+void DescribePriceRequest::setSystemDisk(const DescribePriceRequest::SystemDisk &systemDisk) {
+  systemDisk_ = systemDisk;
+  setParameter(std::string("SystemDisk") + ".Size", std::to_string(systemDisk.size));
+  setParameter(std::string("SystemDisk") + ".PerformanceLevel", systemDisk.performanceLevel);
+  setParameter(std::string("SystemDisk") + ".Category", systemDisk.category);
 }
 
 std::string DescribePriceRequest::getPriceUnit() const {
@@ -88,15 +72,6 @@ void DescribePriceRequest::setPeriod(int period) {
   setParameter(std::string("Period"), std::to_string(period));
 }
 
-std::string DescribePriceRequest::getDataDisk1PerformanceLevel() const {
-  return dataDisk1PerformanceLevel_;
-}
-
-void DescribePriceRequest::setDataDisk1PerformanceLevel(const std::string &dataDisk1PerformanceLevel) {
-  dataDisk1PerformanceLevel_ = dataDisk1PerformanceLevel;
-  setParameter(std::string("DataDisk.1.PerformanceLevel"), dataDisk1PerformanceLevel);
-}
-
 std::string DescribePriceRequest::getAssuranceTimes() const {
   return assuranceTimes_;
 }
@@ -177,15 +152,6 @@ void DescribePriceRequest::setInstanceTypeList(const std::vector<std::string> &i
   instanceTypeList_ = instanceTypeList;
 }
 
-std::string DescribePriceRequest::getDataDisk3PerformanceLevel() const {
-  return dataDisk3PerformanceLevel_;
-}
-
-void DescribePriceRequest::setDataDisk3PerformanceLevel(const std::string &dataDisk3PerformanceLevel) {
-  dataDisk3PerformanceLevel_ = dataDisk3PerformanceLevel;
-  setParameter(std::string("DataDisk.3.PerformanceLevel"), dataDisk3PerformanceLevel);
-}
-
 std::string DescribePriceRequest::getImageId() const {
   return imageId_;
 }
@@ -213,15 +179,6 @@ void DescribePriceRequest::setInternetMaxBandwidthOut(int internetMaxBandwidthOu
   setParameter(std::string("InternetMaxBandwidthOut"), std::to_string(internetMaxBandwidthOut));
 }
 
-std::string DescribePriceRequest::getSystemDiskCategory() const {
-  return systemDiskCategory_;
-}
-
-void DescribePriceRequest::setSystemDiskCategory(const std::string &systemDiskCategory) {
-  systemDiskCategory_ = systemDiskCategory;
-  setParameter(std::string("SystemDisk.Category"), systemDiskCategory);
-}
-
 std::string DescribePriceRequest::getPlatform() const {
   return platform_;
 }
@@ -240,33 +197,6 @@ void DescribePriceRequest::setCapacity(int capacity) {
   setParameter(std::string("Capacity"), std::to_string(capacity));
 }
 
-std::string DescribePriceRequest::getSystemDiskPerformanceLevel() const {
-  return systemDiskPerformanceLevel_;
-}
-
-void DescribePriceRequest::setSystemDiskPerformanceLevel(const std::string &systemDiskPerformanceLevel) {
-  systemDiskPerformanceLevel_ = systemDiskPerformanceLevel;
-  setParameter(std::string("SystemDisk.PerformanceLevel"), systemDiskPerformanceLevel);
-}
-
-std::string DescribePriceRequest::getDataDisk4Category() const {
-  return dataDisk4Category_;
-}
-
-void DescribePriceRequest::setDataDisk4Category(const std::string &dataDisk4Category) {
-  dataDisk4Category_ = dataDisk4Category;
-  setParameter(std::string("DataDisk.4.Category"), dataDisk4Category);
-}
-
-std::string DescribePriceRequest::getDataDisk4PerformanceLevel() const {
-  return dataDisk4PerformanceLevel_;
-}
-
-void DescribePriceRequest::setDataDisk4PerformanceLevel(const std::string &dataDisk4PerformanceLevel) {
-  dataDisk4PerformanceLevel_ = dataDisk4PerformanceLevel;
-  setParameter(std::string("DataDisk.4.PerformanceLevel"), dataDisk4PerformanceLevel);
-}
-
 std::string DescribePriceRequest::getRegionId() const {
   return regionId_;
 }
@@ -303,24 +233,6 @@ void DescribePriceRequest::setDedicatedHostType(const std::string &dedicatedHost
   setParameter(std::string("DedicatedHostType"), dedicatedHostType);
 }
 
-std::string DescribePriceRequest::getDataDisk2Category() const {
-  return dataDisk2Category_;
-}
-
-void DescribePriceRequest::setDataDisk2Category(const std::string &dataDisk2Category) {
-  dataDisk2Category_ = dataDisk2Category;
-  setParameter(std::string("DataDisk.2.Category"), dataDisk2Category);
-}
-
-int DescribePriceRequest::getDataDisk1Size() const {
-  return dataDisk1Size_;
-}
-
-void DescribePriceRequest::setDataDisk1Size(int dataDisk1Size) {
-  dataDisk1Size_ = dataDisk1Size;
-  setParameter(std::string("DataDisk.1.Size"), std::to_string(dataDisk1Size));
-}
-
 int DescribePriceRequest::getAmount() const {
   return amount_;
 }
@@ -348,15 +260,6 @@ void DescribePriceRequest::setOwnerAccount(const std::string &ownerAccount) {
   setParameter(std::string("OwnerAccount"), ownerAccount);
 }
 
-int DescribePriceRequest::getDataDisk2Size() const {
-  return dataDisk2Size_;
-}
-
-void DescribePriceRequest::setDataDisk2Size(int dataDisk2Size) {
-  dataDisk2Size_ = dataDisk2Size;
-  setParameter(std::string("DataDisk.2.Size"), std::to_string(dataDisk2Size));
-}
-
 int DescribePriceRequest::getSpotDuration() const {
   return spotDuration_;
 }
@@ -375,31 +278,17 @@ void DescribePriceRequest::setResourceType(const std::string &resourceType) {
   setParameter(std::string("ResourceType"), resourceType);
 }
 
-std::string DescribePriceRequest::getDataDisk1Category() const {
-  return dataDisk1Category_;
-}
-
-void DescribePriceRequest::setDataDisk1Category(const std::string &dataDisk1Category) {
-  dataDisk1Category_ = dataDisk1Category;
-  setParameter(std::string("DataDisk.1.Category"), dataDisk1Category);
-}
-
-std::string DescribePriceRequest::getDataDisk2PerformanceLevel() const {
-  return dataDisk2PerformanceLevel_;
-}
-
-void DescribePriceRequest::setDataDisk2PerformanceLevel(const std::string &dataDisk2PerformanceLevel) {
-  dataDisk2PerformanceLevel_ = dataDisk2PerformanceLevel;
-  setParameter(std::string("DataDisk.2.PerformanceLevel"), dataDisk2PerformanceLevel);
-}
-
-int DescribePriceRequest::getSystemDiskSize() const {
-  return systemDiskSize_;
+std::vector<DescribePriceRequest::DataDisk> DescribePriceRequest::getDataDisk() const {
+  return dataDisk_;
 }
 
-void DescribePriceRequest::setSystemDiskSize(int systemDiskSize) {
-  systemDiskSize_ = systemDiskSize;
-  setParameter(std::string("SystemDisk.Size"), std::to_string(systemDiskSize));
+void DescribePriceRequest::setDataDisk(const std::vector<DescribePriceRequest::DataDisk> &dataDisk) {
+  dataDisk_ = dataDisk;
+  for(int dep1 = 0; dep1 != dataDisk.size(); dep1++) {
+    setParameter(std::string("DataDisk") + "." + std::to_string(dep1 + 1) + ".Size", std::to_string(dataDisk[dep1].size));
+    setParameter(std::string("DataDisk") + "." + std::to_string(dep1 + 1) + ".PerformanceLevel", dataDisk[dep1].performanceLevel);
+    setParameter(std::string("DataDisk") + "." + std::to_string(dep1 + 1) + ".Category", dataDisk[dep1].category);
+  }
 }
 
 std::string DescribePriceRequest::getOfferingType() const {

+ 17 - 0
ecs/src/model/DescribeRecommendInstanceTypeRequest.cc

@@ -79,6 +79,14 @@ void DescribeRecommendInstanceTypeRequest::setCores(int cores) {
   setParameter(std::string("Cores"), std::to_string(cores));
 }
 
+std::vector<std::string> DescribeRecommendInstanceTypeRequest::getZoneIds() const {
+  return zoneIds_;
+}
+
+void DescribeRecommendInstanceTypeRequest::setZoneIds(const std::vector<std::string> &zoneIds) {
+  zoneIds_ = zoneIds;
+}
+
 std::string DescribeRecommendInstanceTypeRequest::getRegionId() const {
   return regionId_;
 }
@@ -195,6 +203,15 @@ void DescribeRecommendInstanceTypeRequest::setInstanceFamilyLevel(const std::str
   setParameter(std::string("InstanceFamilyLevel"), instanceFamilyLevel);
 }
 
+bool DescribeRecommendInstanceTypeRequest::getInstanceTypeSupportIPv6() const {
+  return instanceTypeSupportIPv6_;
+}
+
+void DescribeRecommendInstanceTypeRequest::setInstanceTypeSupportIPv6(bool instanceTypeSupportIPv6) {
+  instanceTypeSupportIPv6_ = instanceTypeSupportIPv6;
+  setParameter(std::string("InstanceTypeSupportIPv6"), instanceTypeSupportIPv6 ? "true" : "false");
+}
+
 std::string DescribeRecommendInstanceTypeRequest::getZoneId() const {
   return zoneId_;
 }

+ 1 - 1
ecs/src/model/DescribeResourceByTagsRequest.cc

@@ -70,7 +70,7 @@ void DescribeResourceByTagsRequest::setTag(const std::vector<DescribeResourceByT
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 1 - 1
ecs/src/model/DescribeSecurityGroupsRequest.cc

@@ -133,7 +133,7 @@ void DescribeSecurityGroupsRequest::setTag(const std::vector<DescribeSecurityGro
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 1 - 1
ecs/src/model/DescribeSnapshotsRequest.cc

@@ -97,7 +97,7 @@ void DescribeSnapshotsRequest::setTag(const std::vector<DescribeSnapshotsRequest
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

+ 1 - 1
ecs/src/model/DescribeTagsRequest.cc

@@ -70,7 +70,7 @@ void DescribeTagsRequest::setTag(const std::vector<DescribeTagsRequest::Tag> &ta
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

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

@@ -61,6 +61,15 @@ void ModifySnapshotAttributeRequest::setSnapshotName(const std::string &snapshot
   setParameter(std::string("SnapshotName"), snapshotName);
 }
 
+long ModifySnapshotAttributeRequest::getInstantAccessRetentionDays() const {
+  return instantAccessRetentionDays_;
+}
+
+void ModifySnapshotAttributeRequest::setInstantAccessRetentionDays(long instantAccessRetentionDays) {
+  instantAccessRetentionDays_ = instantAccessRetentionDays;
+  setParameter(std::string("InstantAccessRetentionDays"), std::to_string(instantAccessRetentionDays));
+}
+
 std::string ModifySnapshotAttributeRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }
@@ -97,3 +106,12 @@ void ModifySnapshotAttributeRequest::setDisableInstantAccess(bool disableInstant
   setParameter(std::string("DisableInstantAccess"), disableInstantAccess ? "true" : "false");
 }
 
+long ModifySnapshotAttributeRequest::getRetentionDays() const {
+  return retentionDays_;
+}
+
+void ModifySnapshotAttributeRequest::setRetentionDays(long retentionDays) {
+  retentionDays_ = retentionDays;
+  setParameter(std::string("RetentionDays"), std::to_string(retentionDays));
+}
+

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

@@ -79,3 +79,12 @@ void RedeployDedicatedHostRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+bool RedeployDedicatedHostRequest::getWaiveLocalDiskData() const {
+  return waiveLocalDiskData_;
+}
+
+void RedeployDedicatedHostRequest::setWaiveLocalDiskData(bool waiveLocalDiskData) {
+  waiveLocalDiskData_ = waiveLocalDiskData;
+  setParameter(std::string("WaiveLocalDiskData"), waiveLocalDiskData ? "true" : "false");
+}
+

+ 1 - 1
ecs/src/model/RemoveTagsRequest.cc

@@ -52,7 +52,7 @@ void RemoveTagsRequest::setTag(const std::vector<RemoveTagsRequest::Tag> &tag) {
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".value", tagObj.value);
+    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
   }
 }

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

@@ -142,6 +142,15 @@ void RunCommandRequest::setTimed(bool timed) {
   setParameter(std::string("Timed"), timed ? "true" : "false");
 }
 
+bool RunCommandRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void RunCommandRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
 std::string RunCommandRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }