Explorar el Código

Support throughput for API DescribeDisks.

sdk-team hace 4 años
padre
commit
778feae703
Se han modificado 30 ficheros con 182 adiciones y 1 borrados
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 3 0
      ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h
  4. 6 0
      ecs/include/alibabacloud/ecs/model/CreateDiskRequest.h
  5. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
  6. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeDeploymentSetsResult.h
  7. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeDisksResult.h
  8. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeImagesResult.h
  9. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
  10. 5 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  11. 3 0
      ecs/include/alibabacloud/ecs/model/ModifyDiskAttributeRequest.h
  12. 3 0
      ecs/include/alibabacloud/ecs/model/ModifyDiskSpecRequest.h
  13. 7 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceAttributeRequest.h
  14. 3 0
      ecs/include/alibabacloud/ecs/model/ReInitDiskRequest.h
  15. 3 0
      ecs/include/alibabacloud/ecs/model/ReplaceSystemDiskRequest.h
  16. 13 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  17. 8 0
      ecs/src/model/CreateAutoProvisioningGroupRequest.cc
  18. 18 0
      ecs/src/model/CreateDiskRequest.cc
  19. 2 0
      ecs/src/model/DescribeDedicatedHostsResult.cc
  20. 12 0
      ecs/src/model/DescribeDeploymentSetsResult.cc
  21. 6 0
      ecs/src/model/DescribeDisksResult.cc
  22. 4 0
      ecs/src/model/DescribeImagesResult.cc
  23. 2 0
      ecs/src/model/DescribeInstanceHistoryEventsResult.cc
  24. 3 0
      ecs/src/model/DescribeInstancesResult.cc
  25. 9 0
      ecs/src/model/ModifyDiskAttributeRequest.cc
  26. 9 0
      ecs/src/model/ModifyDiskSpecRequest.cc
  27. 10 0
      ecs/src/model/ModifyInstanceAttributeRequest.cc
  28. 9 0
      ecs/src/model/ReInitDiskRequest.cc
  29. 9 0
      ecs/src/model/ReplaceSystemDiskRequest.cc
  30. 16 0
      ecs/src/model/RunInstancesRequest.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2022-04-13 Version: 1.36.1104
+- Support throughput for API DescribeDisks.
+
+
 2022-04-12 Version: 1.36.1103
 - Remove redundant input for API ListTaskFlow.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1103
+1.36.1104

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

@@ -71,6 +71,8 @@ public:
 	void setLaunchConfigurationSystemDiskPerformanceLevel(const std::string &launchConfigurationSystemDiskPerformanceLevel);
 	std::vector<std::string> getLaunchConfigurationHostNames() const;
 	void setLaunchConfigurationHostNames(const std::vector<std::string> &launchConfigurationHostNames);
+	std::vector<std::string> getLaunchConfigurationSecurityGroupIds() const;
+	void setLaunchConfigurationSecurityGroupIds(const std::vector<std::string> &launchConfigurationSecurityGroupIds);
 	std::string getResourceGroupId() const;
 	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getLaunchConfigurationImageId() const;
@@ -179,6 +181,7 @@ private:
 	std::string autoProvisioningGroupType_;
 	std::string launchConfigurationSystemDiskPerformanceLevel_;
 	std::vector<std::string> launchConfigurationHostNames_;
+	std::vector<std::string> launchConfigurationSecurityGroupIds_;
 	std::string resourceGroupId_;
 	std::string launchConfigurationImageId_;
 	std::string launchConfigurationResourceGroupId_;

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

@@ -75,6 +75,10 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	bool getBurstingEnabled() const;
+	void setBurstingEnabled(bool burstingEnabled);
+	long getProvisionedIops() const;
+	void setProvisionedIops(long provisionedIops);
 	std::string getInstanceId() const;
 	void setInstanceId(const std::string &instanceId);
 	std::string getStorageSetId() const;
@@ -109,6 +113,8 @@ private:
 	std::string performanceLevel_;
 	std::string ownerAccount_;
 	long ownerId_;
+	bool burstingEnabled_;
+	long provisionedIops_;
 	std::string instanceId_;
 	std::string storageSetId_;
 	int size_;

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

@@ -92,6 +92,7 @@ namespace AlibabaCloud
 					std::vector<DedicatedHost::Instance> instances;
 					int cores;
 					int sockets;
+					std::string schedulerOptionsManagedPrivateSpaceId;
 					std::string chargeType;
 					std::vector<std::string> supportedInstanceTypeFamilies;
 					std::string creationTime;

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

@@ -34,6 +34,12 @@ namespace AlibabaCloud
 			public:
 				struct DeploymentSet
 				{
+					struct Capacity
+					{
+						int usedAmount;
+						std::string zoneId;
+						int availableAmount;
+					};
 					std::string deploymentSetId;
 					std::string deploymentSetDescription;
 					int instanceAmount;
@@ -41,6 +47,7 @@ namespace AlibabaCloud
 					std::string creationTime;
 					std::string strategy;
 					std::string deploymentSetName;
+					std::vector<DeploymentSet::Capacity> capacities;
 					std::string domain;
 					std::string granularity;
 					std::vector<std::string> instanceIds;

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

@@ -64,6 +64,7 @@ namespace AlibabaCloud
 					int size;
 					bool deleteAutoSnapshot;
 					std::string diskChargeType;
+					int throughput;
 					int storageSetPartitionNumber;
 					int iOPS;
 					std::vector<Disk::Attachment> attachments;
@@ -75,6 +76,7 @@ namespace AlibabaCloud
 					std::string status;
 					int iOPSRead;
 					std::string attachedTime;
+					bool burstingEnabled;
 					std::string storageClusterId;
 					int iOPSWrite;
 					std::string zoneId;
@@ -88,6 +90,7 @@ namespace AlibabaCloud
 					bool enableAutoSnapshot;
 					std::string autoSnapshotPolicyId;
 					std::string diskName;
+					long provisionedIops;
 					std::vector<Disk::OperationLock> operationLocks;
 					std::string bdfId;
 					bool portable;

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

@@ -63,6 +63,7 @@ namespace AlibabaCloud
 					std::string imageId;
 					std::vector<Image::Tag> tags;
 					std::string oSNameEn;
+					bool loginAsNonRootSupported;
 					std::string status;
 					std::string progress;
 					std::string usage;
@@ -76,6 +77,7 @@ namespace AlibabaCloud
 					std::string imageName;
 					std::vector<Image::DiskDeviceMapping> diskDeviceMappings;
 					std::string imageVersion;
+					std::string supplierName;
 					std::string oSType;
 					std::string creationTime;
 				};

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

@@ -59,6 +59,7 @@ namespace AlibabaCloud
 						std::string hostId;
 						std::vector<InactiveDisk> inactiveDisks;
 						std::string diskId;
+						std::string onlineRepairPolicy;
 						std::vector<std::string> migrationOptions;
 					};
 					std::string eventFinishTime;

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

@@ -81,6 +81,10 @@ namespace AlibabaCloud
 						std::string httpTokens;
 						std::string httpEndpoint;
 					};
+					struct ImageOptions
+					{
+						bool loginAsNonRoot;
+					};
 					struct NetworkInterface
 					{
 						struct PrivateIpSet
@@ -119,6 +123,7 @@ namespace AlibabaCloud
 					std::string expiredTime;
 					EipAddress eipAddress;
 					std::string imageId;
+					ImageOptions imageOptions;
 					std::vector<Instance::Tag> tags;
 					std::string vlanId;
 					std::string hostName;

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

@@ -54,6 +54,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	bool getBurstingEnabled() const;
+	void setBurstingEnabled(bool burstingEnabled);
 
 private:
 	long resourceOwnerId_;
@@ -68,6 +70,7 @@ private:
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	bool burstingEnabled_;
 };
 } // namespace Model
 } // namespace Ecs

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

@@ -46,6 +46,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	long getProvisionedIops() const;
+	void setProvisionedIops(long provisionedIops);
 
 private:
 	long resourceOwnerId_;
@@ -56,6 +58,7 @@ private:
 	std::string performanceLevel_;
 	std::string ownerAccount_;
 	long ownerId_;
+	long provisionedIops_;
 };
 } // namespace Model
 } // namespace Ecs

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

@@ -28,6 +28,10 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT ModifyInstanceAttributeRequest : public RpcServiceRequest {
 public:
+	struct RemoteConnectionOptions {
+		std::string password;
+		std::string type;
+	};
 	ModifyInstanceAttributeRequest();
 	~ModifyInstanceAttributeRequest();
 	long getResourceOwnerId() const;
@@ -60,6 +64,8 @@ public:
 	void setInstanceId(const std::string &instanceId);
 	std::string getInstanceName() const;
 	void setInstanceName(const std::string &instanceName);
+	RemoteConnectionOptions getRemoteConnectionOptions() const;
+	void setRemoteConnectionOptions(const RemoteConnectionOptions &remoteConnectionOptions);
 
 private:
 	long resourceOwnerId_;
@@ -77,6 +83,7 @@ private:
 	std::vector<std::string> securityGroupIds_;
 	std::string instanceId_;
 	std::string instanceName_;
+	RemoteConnectionOptions remoteConnectionOptions_;
 };
 } // namespace Model
 } // namespace Ecs

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

@@ -40,6 +40,8 @@ public:
 	void setKeyPairName(const std::string &keyPairName);
 	std::string getPassword() const;
 	void setPassword(const std::string &password);
+	bool getLoginAsNonRoot() const;
+	void setLoginAsNonRoot(bool loginAsNonRoot);
 	std::string getDiskId() const;
 	void setDiskId(const std::string &diskId);
 	std::string getResourceOwnerAccount() const;
@@ -55,6 +57,7 @@ private:
 	std::string securityEnhancementStrategy_;
 	std::string keyPairName_;
 	std::string password_;
+	bool loginAsNonRoot_;
 	std::string diskId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;

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

@@ -44,6 +44,8 @@ public:
 	void setPlatform(const std::string &platform);
 	std::string getPassword() const;
 	void setPassword(const std::string &password);
+	bool getLoginAsNonRoot() const;
+	void setLoginAsNonRoot(bool loginAsNonRoot);
 	bool getPasswordInherit() const;
 	void setPasswordInherit(bool passwordInherit);
 	std::string getDiskId() const;
@@ -71,6 +73,7 @@ private:
 	std::string keyPairName_;
 	std::string platform_;
 	std::string password_;
+	bool loginAsNonRoot_;
 	bool passwordInherit_;
 	std::string diskId_;
 	std::string architecture_;

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

@@ -30,6 +30,14 @@ class ALIBABACLOUD_ECS_EXPORT RunInstancesRequest : public RpcServiceRequest {
 public:
 	struct SystemDisk {
 		std::string storageClusterId;
+		long provisionedIops;
+		bool burstingEnabled;
+		std::string encrypted;
+		std::string kMSKeyId;
+		std::string encryptAlgorithm;
+	};
+	struct ImageOptions {
+		bool loginAsNonRoot;
 	};
 	struct Arn {
 		std::string roleType;
@@ -66,6 +74,8 @@ public:
 		bool deleteWithInstance;
 		std::string kMSKeyId;
 		std::string storageClusterId;
+		long provisionedIops;
+		bool burstingEnabled;
 	};
 	RunInstancesRequest();
 	~RunInstancesRequest();
@@ -87,6 +97,8 @@ public:
 	void setPassword(const std::string &password);
 	SystemDisk getSystemDisk() const;
 	void setSystemDisk(const SystemDisk &systemDisk);
+	ImageOptions getImageOptions() const;
+	void setImageOptions(const ImageOptions &imageOptions);
 	int getDeploymentSetGroupNo() const;
 	void setDeploymentSetGroupNo(int deploymentSetGroupNo);
 	std::string getSystemDiskAutoSnapshotPolicyId() const;
@@ -252,6 +264,7 @@ private:
 	std::string hostName_;
 	std::string password_;
 	SystemDisk systemDisk_;
+	ImageOptions imageOptions_;
 	int deploymentSetGroupNo_;
 	std::string systemDiskAutoSnapshotPolicyId_;
 	int cpuOptionsCore_;

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

@@ -91,6 +91,14 @@ void CreateAutoProvisioningGroupRequest::setLaunchConfigurationHostNames(const s
   launchConfigurationHostNames_ = launchConfigurationHostNames;
 }
 
+std::vector<std::string> CreateAutoProvisioningGroupRequest::getLaunchConfigurationSecurityGroupIds() const {
+  return launchConfigurationSecurityGroupIds_;
+}
+
+void CreateAutoProvisioningGroupRequest::setLaunchConfigurationSecurityGroupIds(const std::vector<std::string> &launchConfigurationSecurityGroupIds) {
+  launchConfigurationSecurityGroupIds_ = launchConfigurationSecurityGroupIds;
+}
+
 std::string CreateAutoProvisioningGroupRequest::getResourceGroupId() const {
   return resourceGroupId_;
 }

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

@@ -198,6 +198,24 @@ void CreateDiskRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+bool CreateDiskRequest::getBurstingEnabled() const {
+  return burstingEnabled_;
+}
+
+void CreateDiskRequest::setBurstingEnabled(bool burstingEnabled) {
+  burstingEnabled_ = burstingEnabled;
+  setParameter(std::string("BurstingEnabled"), burstingEnabled ? "true" : "false");
+}
+
+long CreateDiskRequest::getProvisionedIops() const {
+  return provisionedIops_;
+}
+
+void CreateDiskRequest::setProvisionedIops(long provisionedIops) {
+  provisionedIops_ = provisionedIops;
+  setParameter(std::string("ProvisionedIops"), std::to_string(provisionedIops));
+}
+
 std::string CreateDiskRequest::getInstanceId() const {
   return instanceId_;
 }

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

@@ -45,6 +45,8 @@ void DescribeDedicatedHostsResult::parse(const std::string &payload)
 		DedicatedHost dedicatedHostsObject;
 		if(!valueDedicatedHostsDedicatedHost["CreationTime"].isNull())
 			dedicatedHostsObject.creationTime = valueDedicatedHostsDedicatedHost["CreationTime"].asString();
+		if(!valueDedicatedHostsDedicatedHost["SchedulerOptions.ManagedPrivateSpaceId"].isNull())
+			dedicatedHostsObject.schedulerOptionsManagedPrivateSpaceId = valueDedicatedHostsDedicatedHost["SchedulerOptions.ManagedPrivateSpaceId"].asString();
 		if(!valueDedicatedHostsDedicatedHost["Status"].isNull())
 			dedicatedHostsObject.status = valueDedicatedHostsDedicatedHost["Status"].asString();
 		if(!valueDedicatedHostsDedicatedHost["Cores"].isNull())

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

@@ -63,6 +63,18 @@ void DescribeDeploymentSetsResult::parse(const std::string &payload)
 			deploymentSetsObject.deploymentSetName = valueDeploymentSetsDeploymentSet["DeploymentSetName"].asString();
 		if(!valueDeploymentSetsDeploymentSet["InstanceAmount"].isNull())
 			deploymentSetsObject.instanceAmount = std::stoi(valueDeploymentSetsDeploymentSet["InstanceAmount"].asString());
+		auto allCapacitiesNode = valueDeploymentSetsDeploymentSet["Capacities"]["Capacity"];
+		for (auto valueDeploymentSetsDeploymentSetCapacitiesCapacity : allCapacitiesNode)
+		{
+			DeploymentSet::Capacity capacitiesObject;
+			if(!valueDeploymentSetsDeploymentSetCapacitiesCapacity["ZoneId"].isNull())
+				capacitiesObject.zoneId = valueDeploymentSetsDeploymentSetCapacitiesCapacity["ZoneId"].asString();
+			if(!valueDeploymentSetsDeploymentSetCapacitiesCapacity["UsedAmount"].isNull())
+				capacitiesObject.usedAmount = std::stoi(valueDeploymentSetsDeploymentSetCapacitiesCapacity["UsedAmount"].asString());
+			if(!valueDeploymentSetsDeploymentSetCapacitiesCapacity["AvailableAmount"].isNull())
+				capacitiesObject.availableAmount = std::stoi(valueDeploymentSetsDeploymentSetCapacitiesCapacity["AvailableAmount"].asString());
+			deploymentSetsObject.capacities.push_back(capacitiesObject);
+		}
 		auto allInstanceIds = value["InstanceIds"]["InstanceId"];
 		for (auto value : allInstanceIds)
 			deploymentSetsObject.instanceIds.push_back(value.asString());

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

@@ -121,6 +121,12 @@ void DescribeDisksResult::parse(const std::string &payload)
 			disksObject.productCode = valueDisksDisk["ProductCode"].asString();
 		if(!valueDisksDisk["MultiAttach"].isNull())
 			disksObject.multiAttach = valueDisksDisk["MultiAttach"].asString();
+		if(!valueDisksDisk["ProvisionedIops"].isNull())
+			disksObject.provisionedIops = std::stol(valueDisksDisk["ProvisionedIops"].asString());
+		if(!valueDisksDisk["BurstingEnabled"].isNull())
+			disksObject.burstingEnabled = valueDisksDisk["BurstingEnabled"].asString() == "true";
+		if(!valueDisksDisk["Throughput"].isNull())
+			disksObject.throughput = std::stoi(valueDisksDisk["Throughput"].asString());
 		auto allOperationLocksNode = valueDisksDisk["OperationLocks"]["OperationLock"];
 		for (auto valueDisksDiskOperationLocksOperationLock : allOperationLocksNode)
 		{

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

@@ -93,6 +93,10 @@ void DescribeImagesResult::parse(const std::string &payload)
 			imagesObject.isPublic = valueImagesImage["IsPublic"].asString() == "true";
 		if(!valueImagesImage["ImageOwnerId"].isNull())
 			imagesObject.imageOwnerId = std::stol(valueImagesImage["ImageOwnerId"].asString());
+		if(!valueImagesImage["LoginAsNonRootSupported"].isNull())
+			imagesObject.loginAsNonRootSupported = valueImagesImage["LoginAsNonRootSupported"].asString() == "true";
+		if(!valueImagesImage["SupplierName"].isNull())
+			imagesObject.supplierName = valueImagesImage["SupplierName"].asString();
 		auto allDiskDeviceMappingsNode = valueImagesImage["DiskDeviceMappings"]["DiskDeviceMapping"];
 		for (auto valueImagesImageDiskDeviceMappingsDiskDeviceMapping : allDiskDeviceMappingsNode)
 		{

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

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

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

@@ -244,6 +244,9 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.metadataOptions.httpPutResponseHopLimit = std::stoi(metadataOptionsNode["HttpPutResponseHopLimit"].asString());
 		if(!metadataOptionsNode["HttpTokens"].isNull())
 			instancesObject.metadataOptions.httpTokens = metadataOptionsNode["HttpTokens"].asString();
+		auto imageOptionsNode = value["ImageOptions"];
+		if(!imageOptionsNode["LoginAsNonRoot"].isNull())
+			instancesObject.imageOptions.loginAsNonRoot = imageOptionsNode["LoginAsNonRoot"].asString() == "true";
 		auto allRdmaIpAddress = value["RdmaIpAddress"]["IpAddress"];
 		for (auto value : allRdmaIpAddress)
 			instancesObject.rdmaIpAddress.push_back(value.asString());

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

@@ -132,3 +132,12 @@ void ModifyDiskAttributeRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+bool ModifyDiskAttributeRequest::getBurstingEnabled() const {
+  return burstingEnabled_;
+}
+
+void ModifyDiskAttributeRequest::setBurstingEnabled(bool burstingEnabled) {
+  burstingEnabled_ = burstingEnabled;
+  setParameter(std::string("BurstingEnabled"), burstingEnabled ? "true" : "false");
+}
+

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

@@ -97,3 +97,12 @@ void ModifyDiskSpecRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+long ModifyDiskSpecRequest::getProvisionedIops() const {
+  return provisionedIops_;
+}
+
+void ModifyDiskSpecRequest::setProvisionedIops(long provisionedIops) {
+  provisionedIops_ = provisionedIops;
+  setParameter(std::string("ProvisionedIops"), std::to_string(provisionedIops));
+}
+

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

@@ -159,3 +159,13 @@ void ModifyInstanceAttributeRequest::setInstanceName(const std::string &instance
   setParameter(std::string("InstanceName"), instanceName);
 }
 
+ModifyInstanceAttributeRequest::RemoteConnectionOptions ModifyInstanceAttributeRequest::getRemoteConnectionOptions() const {
+  return remoteConnectionOptions_;
+}
+
+void ModifyInstanceAttributeRequest::setRemoteConnectionOptions(const ModifyInstanceAttributeRequest::RemoteConnectionOptions &remoteConnectionOptions) {
+  remoteConnectionOptions_ = remoteConnectionOptions;
+  setParameter(std::string("RemoteConnectionOptions") + ".Password", remoteConnectionOptions.password);
+  setParameter(std::string("RemoteConnectionOptions") + ".Type", remoteConnectionOptions.type);
+}
+

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

@@ -70,6 +70,15 @@ void ReInitDiskRequest::setPassword(const std::string &password) {
   setParameter(std::string("Password"), password);
 }
 
+bool ReInitDiskRequest::getLoginAsNonRoot() const {
+  return loginAsNonRoot_;
+}
+
+void ReInitDiskRequest::setLoginAsNonRoot(bool loginAsNonRoot) {
+  loginAsNonRoot_ = loginAsNonRoot;
+  setParameter(std::string("LoginAsNonRoot"), loginAsNonRoot ? "true" : "false");
+}
+
 std::string ReInitDiskRequest::getDiskId() const {
   return diskId_;
 }

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

@@ -88,6 +88,15 @@ void ReplaceSystemDiskRequest::setPassword(const std::string &password) {
   setParameter(std::string("Password"), password);
 }
 
+bool ReplaceSystemDiskRequest::getLoginAsNonRoot() const {
+  return loginAsNonRoot_;
+}
+
+void ReplaceSystemDiskRequest::setLoginAsNonRoot(bool loginAsNonRoot) {
+  loginAsNonRoot_ = loginAsNonRoot;
+  setParameter(std::string("LoginAsNonRoot"), loginAsNonRoot ? "true" : "false");
+}
+
 bool ReplaceSystemDiskRequest::getPasswordInherit() const {
   return passwordInherit_;
 }

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

@@ -104,6 +104,20 @@ RunInstancesRequest::SystemDisk RunInstancesRequest::getSystemDisk() const {
 void RunInstancesRequest::setSystemDisk(const RunInstancesRequest::SystemDisk &systemDisk) {
   systemDisk_ = systemDisk;
   setParameter(std::string("SystemDisk") + ".StorageClusterId", systemDisk.storageClusterId);
+  setParameter(std::string("SystemDisk") + ".ProvisionedIops", std::to_string(systemDisk.provisionedIops));
+  setParameter(std::string("SystemDisk") + ".BurstingEnabled", systemDisk.burstingEnabled ? "true" : "false");
+  setParameter(std::string("SystemDisk") + ".Encrypted", systemDisk.encrypted);
+  setParameter(std::string("SystemDisk") + ".KMSKeyId", systemDisk.kMSKeyId);
+  setParameter(std::string("SystemDisk") + ".EncryptAlgorithm", systemDisk.encryptAlgorithm);
+}
+
+RunInstancesRequest::ImageOptions RunInstancesRequest::getImageOptions() const {
+  return imageOptions_;
+}
+
+void RunInstancesRequest::setImageOptions(const RunInstancesRequest::ImageOptions &imageOptions) {
+  imageOptions_ = imageOptions;
+  setParameter(std::string("ImageOptions") + ".LoginAsNonRoot", imageOptions.loginAsNonRoot ? "true" : "false");
 }
 
 int RunInstancesRequest::getDeploymentSetGroupNo() const {
@@ -806,6 +820,8 @@ void RunInstancesRequest::setDataDisk(const std::vector<RunInstancesRequest::Dat
     setParameter(dataDiskObjStr + ".DeleteWithInstance", dataDiskObj.deleteWithInstance ? "true" : "false");
     setParameter(dataDiskObjStr + ".KMSKeyId", dataDiskObj.kMSKeyId);
     setParameter(dataDiskObjStr + ".StorageClusterId", dataDiskObj.storageClusterId);
+    setParameter(dataDiskObjStr + ".ProvisionedIops", std::to_string(dataDiskObj.provisionedIops));
+    setParameter(dataDiskObjStr + ".BurstingEnabled", dataDiskObj.burstingEnabled ? "true" : "false");
   }
 }