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

DescribeInstanceTypes Supports EniIpv6AddressQuantity.

sdk-team 6 лет назад
Родитель
Сommit
b0e4c8f705
27 измененных файлов с 570 добавлено и 1 удалено
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 4 0
      ecs/CMakeLists.txt
  4. 8 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 9 0
      ecs/include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyRequest.h
  6. 9 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h
  7. 9 0
      ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h
  8. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExResult.h
  9. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
  10. 12 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesRequest.h
  11. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  12. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesRequest.h
  13. 69 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h
  14. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h
  15. 9 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  16. 36 0
      ecs/src/EcsClient.cc
  17. 16 0
      ecs/src/model/CreateAutoSnapshotPolicyRequest.cc
  18. 33 0
      ecs/src/model/CreateInstanceRequest.cc
  19. 16 0
      ecs/src/model/DescribeAutoSnapshotPolicyExRequest.cc
  20. 10 0
      ecs/src/model/DescribeAutoSnapshotPolicyExResult.cc
  21. 2 0
      ecs/src/model/DescribeInstanceTypesResult.cc
  22. 46 0
      ecs/src/model/DescribeInstancesRequest.cc
  23. 7 0
      ecs/src/model/DescribeInstancesResult.cc
  24. 11 0
      ecs/src/model/DescribeNetworkInterfacesRequest.cc
  25. 117 0
      ecs/src/model/ModifyInstanceMetadataOptionsRequest.cc
  26. 44 0
      ecs/src/model/ModifyInstanceMetadataOptionsResult.cc
  27. 33 0
      ecs/src/model/RunInstancesRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-03-24 Version: 1.36.331
+- DescribeInstanceTypes Supports EniIpv6AddressQuantity.
+
 2020-03-23 Version: 1.36.330
 2020-03-23 Version: 1.36.330
 - Generated 2015-01-01 for `R-kvstore`.
 - Generated 2015-01-01 for `R-kvstore`.
 - Add DescribeSecurityGroupConfiguration API.
 - Add DescribeSecurityGroupConfiguration API.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.330
+1.36.331

+ 4 - 0
ecs/CMakeLists.txt

@@ -457,6 +457,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h
+	include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h
+	include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h
@@ -1014,6 +1016,8 @@ set(ecs_src
 	src/model/ModifyInstanceDeploymentResult.cc
 	src/model/ModifyInstanceDeploymentResult.cc
 	src/model/ModifyInstanceMaintenanceAttributesRequest.cc
 	src/model/ModifyInstanceMaintenanceAttributesRequest.cc
 	src/model/ModifyInstanceMaintenanceAttributesResult.cc
 	src/model/ModifyInstanceMaintenanceAttributesResult.cc
+	src/model/ModifyInstanceMetadataOptionsRequest.cc
+	src/model/ModifyInstanceMetadataOptionsResult.cc
 	src/model/ModifyInstanceNetworkSpecRequest.cc
 	src/model/ModifyInstanceNetworkSpecRequest.cc
 	src/model/ModifyInstanceNetworkSpecResult.cc
 	src/model/ModifyInstanceNetworkSpecResult.cc
 	src/model/ModifyInstanceSpecRequest.cc
 	src/model/ModifyInstanceSpecRequest.cc

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

@@ -458,6 +458,8 @@
 #include "model/ModifyInstanceDeploymentResult.h"
 #include "model/ModifyInstanceDeploymentResult.h"
 #include "model/ModifyInstanceMaintenanceAttributesRequest.h"
 #include "model/ModifyInstanceMaintenanceAttributesRequest.h"
 #include "model/ModifyInstanceMaintenanceAttributesResult.h"
 #include "model/ModifyInstanceMaintenanceAttributesResult.h"
+#include "model/ModifyInstanceMetadataOptionsRequest.h"
+#include "model/ModifyInstanceMetadataOptionsResult.h"
 #include "model/ModifyInstanceNetworkSpecRequest.h"
 #include "model/ModifyInstanceNetworkSpecRequest.h"
 #include "model/ModifyInstanceNetworkSpecResult.h"
 #include "model/ModifyInstanceNetworkSpecResult.h"
 #include "model/ModifyInstanceSpecRequest.h"
 #include "model/ModifyInstanceSpecRequest.h"
@@ -1239,6 +1241,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyInstanceMaintenanceAttributesResult> ModifyInstanceMaintenanceAttributesOutcome;
 			typedef Outcome<Error, Model::ModifyInstanceMaintenanceAttributesResult> ModifyInstanceMaintenanceAttributesOutcome;
 			typedef std::future<ModifyInstanceMaintenanceAttributesOutcome> ModifyInstanceMaintenanceAttributesOutcomeCallable;
 			typedef std::future<ModifyInstanceMaintenanceAttributesOutcome> ModifyInstanceMaintenanceAttributesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceMaintenanceAttributesRequest&, const ModifyInstanceMaintenanceAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceMaintenanceAttributesAsyncHandler;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceMaintenanceAttributesRequest&, const ModifyInstanceMaintenanceAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceMaintenanceAttributesAsyncHandler;
+			typedef Outcome<Error, Model::ModifyInstanceMetadataOptionsResult> ModifyInstanceMetadataOptionsOutcome;
+			typedef std::future<ModifyInstanceMetadataOptionsOutcome> ModifyInstanceMetadataOptionsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceMetadataOptionsRequest&, const ModifyInstanceMetadataOptionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceMetadataOptionsAsyncHandler;
 			typedef Outcome<Error, Model::ModifyInstanceNetworkSpecResult> ModifyInstanceNetworkSpecOutcome;
 			typedef Outcome<Error, Model::ModifyInstanceNetworkSpecResult> ModifyInstanceNetworkSpecOutcome;
 			typedef std::future<ModifyInstanceNetworkSpecOutcome> ModifyInstanceNetworkSpecOutcomeCallable;
 			typedef std::future<ModifyInstanceNetworkSpecOutcome> ModifyInstanceNetworkSpecOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceNetworkSpecRequest&, const ModifyInstanceNetworkSpecOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceNetworkSpecAsyncHandler;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceNetworkSpecRequest&, const ModifyInstanceNetworkSpecOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceNetworkSpecAsyncHandler;
@@ -2075,6 +2080,9 @@ namespace AlibabaCloud
 			ModifyInstanceMaintenanceAttributesOutcome modifyInstanceMaintenanceAttributes(const Model::ModifyInstanceMaintenanceAttributesRequest &request)const;
 			ModifyInstanceMaintenanceAttributesOutcome modifyInstanceMaintenanceAttributes(const Model::ModifyInstanceMaintenanceAttributesRequest &request)const;
 			void modifyInstanceMaintenanceAttributesAsync(const Model::ModifyInstanceMaintenanceAttributesRequest& request, const ModifyInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void modifyInstanceMaintenanceAttributesAsync(const Model::ModifyInstanceMaintenanceAttributesRequest& request, const ModifyInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceMaintenanceAttributesOutcomeCallable modifyInstanceMaintenanceAttributesCallable(const Model::ModifyInstanceMaintenanceAttributesRequest& request) const;
 			ModifyInstanceMaintenanceAttributesOutcomeCallable modifyInstanceMaintenanceAttributesCallable(const Model::ModifyInstanceMaintenanceAttributesRequest& request) const;
+			ModifyInstanceMetadataOptionsOutcome modifyInstanceMetadataOptions(const Model::ModifyInstanceMetadataOptionsRequest &request)const;
+			void modifyInstanceMetadataOptionsAsync(const Model::ModifyInstanceMetadataOptionsRequest& request, const ModifyInstanceMetadataOptionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceMetadataOptionsOutcomeCallable modifyInstanceMetadataOptionsCallable(const Model::ModifyInstanceMetadataOptionsRequest& request) const;
 			ModifyInstanceNetworkSpecOutcome modifyInstanceNetworkSpec(const Model::ModifyInstanceNetworkSpecRequest &request)const;
 			ModifyInstanceNetworkSpecOutcome modifyInstanceNetworkSpec(const Model::ModifyInstanceNetworkSpecRequest &request)const;
 			void modifyInstanceNetworkSpecAsync(const Model::ModifyInstanceNetworkSpecRequest& request, const ModifyInstanceNetworkSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void modifyInstanceNetworkSpecAsync(const Model::ModifyInstanceNetworkSpecRequest& request, const ModifyInstanceNetworkSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceNetworkSpecOutcomeCallable modifyInstanceNetworkSpecCallable(const Model::ModifyInstanceNetworkSpecRequest& request) const;
 			ModifyInstanceNetworkSpecOutcomeCallable modifyInstanceNetworkSpecCallable(const Model::ModifyInstanceNetworkSpecRequest& request) const;

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

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ECS_EXPORT CreateAutoSnapshotPolicyRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ECS_EXPORT CreateAutoSnapshotPolicyRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 
 			public:
 			public:
 				CreateAutoSnapshotPolicyRequest();
 				CreateAutoSnapshotPolicyRequest();
@@ -43,6 +49,8 @@ namespace AlibabaCloud
 				void setRepeatWeekdays(const std::string& repeatWeekdays);
 				void setRepeatWeekdays(const std::string& repeatWeekdays);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				long getOwnerId()const;
 				long getOwnerId()const;
@@ -57,6 +65,7 @@ namespace AlibabaCloud
 				std::string timePoints_;
 				std::string timePoints_;
 				std::string repeatWeekdays_;
 				std::string repeatWeekdays_;
 				std::string regionId_;
 				std::string regionId_;
+				std::vector<Tag> tag_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				long ownerId_;
 				long ownerId_;
 				std::string autoSnapshotPolicyName_;
 				std::string autoSnapshotPolicyName_;

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

@@ -65,6 +65,8 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getHpcClusterId()const;
 				std::string getHpcClusterId()const;
 				void setHpcClusterId(const std::string& hpcClusterId);
 				void setHpcClusterId(const std::string& hpcClusterId);
+				int getHttpPutResponseHopLimit()const;
+				void setHttpPutResponseHopLimit(int httpPutResponseHopLimit);
 				std::string getSecurityEnhancementStrategy()const;
 				std::string getSecurityEnhancementStrategy()const;
 				void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy);
 				void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy);
 				std::string getKeyPairName()const;
 				std::string getKeyPairName()const;
@@ -145,6 +147,8 @@ namespace AlibabaCloud
 				void setPasswordInherit(bool passwordInherit);
 				void setPasswordInherit(bool passwordInherit);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
+				std::string getHttpEndpoint()const;
+				void setHttpEndpoint(const std::string& httpEndpoint);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
 				std::vector<Arn> getArn()const;
 				std::vector<Arn> getArn()const;
@@ -181,12 +185,15 @@ namespace AlibabaCloud
 				void setSystemDiskSize(int systemDiskSize);
 				void setSystemDiskSize(int systemDiskSize);
 				std::string getImageFamily()const;
 				std::string getImageFamily()const;
 				void setImageFamily(const std::string& imageFamily);
 				void setImageFamily(const std::string& imageFamily);
+				std::string getHttpTokens()const;
+				void setHttpTokens(const std::string& httpTokens);
 				std::string getSystemDiskDescription()const;
 				std::string getSystemDiskDescription()const;
 				void setSystemDiskDescription(const std::string& systemDiskDescription);
 				void setSystemDiskDescription(const std::string& systemDiskDescription);
 
 
             private:
             private:
 				long resourceOwnerId_;
 				long resourceOwnerId_;
 				std::string hpcClusterId_;
 				std::string hpcClusterId_;
+				int httpPutResponseHopLimit_;
 				std::string securityEnhancementStrategy_;
 				std::string securityEnhancementStrategy_;
 				std::string keyPairName_;
 				std::string keyPairName_;
 				float spotPriceLimit_;
 				float spotPriceLimit_;
@@ -227,6 +234,7 @@ namespace AlibabaCloud
 				std::string userData_;
 				std::string userData_;
 				bool passwordInherit_;
 				bool passwordInherit_;
 				std::string regionId_;
 				std::string regionId_;
+				std::string httpEndpoint_;
 				std::string instanceType_;
 				std::string instanceType_;
 				std::vector<Arn> arn_;
 				std::vector<Arn> arn_;
 				std::string instanceChargeType_;
 				std::string instanceChargeType_;
@@ -245,6 +253,7 @@ namespace AlibabaCloud
 				std::string storageSetId_;
 				std::string storageSetId_;
 				int systemDiskSize_;
 				int systemDiskSize_;
 				std::string imageFamily_;
 				std::string imageFamily_;
+				std::string httpTokens_;
 				std::string systemDiskDescription_;
 				std::string systemDiskDescription_;
 
 
 			};
 			};

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

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ECS_EXPORT DescribeAutoSnapshotPolicyExRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ECS_EXPORT DescribeAutoSnapshotPolicyExRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 
 			public:
 			public:
 				DescribeAutoSnapshotPolicyExRequest();
 				DescribeAutoSnapshotPolicyExRequest();
@@ -45,6 +51,8 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				int getPageSize()const;
 				int getPageSize()const;
 				void setPageSize(int pageSize);
 				void setPageSize(int pageSize);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getResourceOwnerAccount()const;
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				std::string getOwnerAccount()const;
@@ -58,6 +66,7 @@ namespace AlibabaCloud
 				int pageNumber_;
 				int pageNumber_;
 				std::string regionId_;
 				std::string regionId_;
 				int pageSize_;
 				int pageSize_;
+				std::vector<Tag> tag_;
 				std::string resourceOwnerAccount_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string ownerAccount_;
 				long ownerId_;
 				long ownerId_;

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

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 			public:
 				struct AutoSnapshotPolicy
 				struct AutoSnapshotPolicy
 				{
 				{
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::string status;
 					std::string timePoints;
 					std::string timePoints;
 					int volumeNums;
 					int volumeNums;
@@ -43,6 +48,7 @@ namespace AlibabaCloud
 					std::string regionId;
 					std::string regionId;
 					std::string repeatWeekdays;
 					std::string repeatWeekdays;
 					std::string autoSnapshotPolicyName;
 					std::string autoSnapshotPolicyName;
+					std::vector<AutoSnapshotPolicy::Tag> tags;
 					int diskNums;
 					int diskNums;
 				};
 				};
 
 

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

@@ -36,6 +36,7 @@ namespace AlibabaCloud
 				{
 				{
 					float memorySize;
 					float memorySize;
 					long instancePpsTx;
 					long instancePpsTx;
+					int eniIpv6AddressQuantity;
 					int cpuCoreCount;
 					int cpuCoreCount;
 					long localStorageCapacity;
 					long localStorageCapacity;
 					std::string instanceTypeFamily;
 					std::string instanceTypeFamily;

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

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setPrivateIpAddresses(const std::string& privateIpAddresses);
 				void setPrivateIpAddresses(const std::string& privateIpAddresses);
 				std::string getHpcClusterId()const;
 				std::string getHpcClusterId()const;
 				void setHpcClusterId(const std::string& hpcClusterId);
 				void setHpcClusterId(const std::string& hpcClusterId);
+				int getHttpPutResponseHopLimit()const;
+				void setHttpPutResponseHopLimit(int httpPutResponseHopLimit);
 				std::string getFilter2Value()const;
 				std::string getFilter2Value()const;
 				void setFilter2Value(const std::string& filter2Value);
 				void setFilter2Value(const std::string& filter2Value);
 				std::string getKeyPairName()const;
 				std::string getKeyPairName()const;
@@ -75,6 +77,8 @@ namespace AlibabaCloud
 				void setOwnerId(long ownerId);
 				void setOwnerId(long ownerId);
 				std::string getVSwitchId()const;
 				std::string getVSwitchId()const;
 				void setVSwitchId(const std::string& vSwitchId);
 				void setVSwitchId(const std::string& vSwitchId);
+				std::vector<std::string> getAdditionalAttributes()const;
+				void setAdditionalAttributes(const std::vector<std::string>& additionalAttributes);
 				std::string getInstanceName()const;
 				std::string getInstanceName()const;
 				void setInstanceName(const std::string& instanceName);
 				void setInstanceName(const std::string& instanceName);
 				std::string getInstanceIds()const;
 				std::string getInstanceIds()const;
@@ -103,6 +107,8 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::string getRdmaIpAddresses()const;
 				std::string getRdmaIpAddresses()const;
 				void setRdmaIpAddresses(const std::string& rdmaIpAddresses);
 				void setRdmaIpAddresses(const std::string& rdmaIpAddresses);
+				std::string getHttpEndpoint()const;
+				void setHttpEndpoint(const std::string& httpEndpoint);
 				int getPageSize()const;
 				int getPageSize()const;
 				void setPageSize(int pageSize);
 				void setPageSize(int pageSize);
 				std::string getPublicIpAddresses()const;
 				std::string getPublicIpAddresses()const;
@@ -123,6 +129,8 @@ namespace AlibabaCloud
 				void setEipAddresses(const std::string& eipAddresses);
 				void setEipAddresses(const std::string& eipAddresses);
 				std::string getVpcId()const;
 				std::string getVpcId()const;
 				void setVpcId(const std::string& vpcId);
 				void setVpcId(const std::string& vpcId);
+				std::string getHttpTokens()const;
+				void setHttpTokens(const std::string& httpTokens);
 				std::string getFilter3Key()const;
 				std::string getFilter3Key()const;
 				void setFilter3Key(const std::string& filter3Key);
 				void setFilter3Key(const std::string& filter3Key);
 
 
@@ -131,6 +139,7 @@ namespace AlibabaCloud
 				long resourceOwnerId_;
 				long resourceOwnerId_;
 				std::string privateIpAddresses_;
 				std::string privateIpAddresses_;
 				std::string hpcClusterId_;
 				std::string hpcClusterId_;
+				int httpPutResponseHopLimit_;
 				std::string filter2Value_;
 				std::string filter2Value_;
 				std::string keyPairName_;
 				std::string keyPairName_;
 				std::string resourceGroupId_;
 				std::string resourceGroupId_;
@@ -144,6 +153,7 @@ namespace AlibabaCloud
 				bool needSaleCycle_;
 				bool needSaleCycle_;
 				long ownerId_;
 				long ownerId_;
 				std::string vSwitchId_;
 				std::string vSwitchId_;
+				std::vector<std::string> additionalAttributes_;
 				std::string instanceName_;
 				std::string instanceName_;
 				std::string instanceIds_;
 				std::string instanceIds_;
 				std::string internetChargeType_;
 				std::string internetChargeType_;
@@ -158,6 +168,7 @@ namespace AlibabaCloud
 				int pageNumber_;
 				int pageNumber_;
 				std::string regionId_;
 				std::string regionId_;
 				std::string rdmaIpAddresses_;
 				std::string rdmaIpAddresses_;
+				std::string httpEndpoint_;
 				int pageSize_;
 				int pageSize_;
 				std::string publicIpAddresses_;
 				std::string publicIpAddresses_;
 				std::string instanceType_;
 				std::string instanceType_;
@@ -168,6 +179,7 @@ namespace AlibabaCloud
 				std::string filter2Key_;
 				std::string filter2Key_;
 				std::string eipAddresses_;
 				std::string eipAddresses_;
 				std::string vpcId_;
 				std::string vpcId_;
+				std::string httpTokens_;
 				std::string filter3Key_;
 				std::string filter3Key_;
 
 
 			};
 			};

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

@@ -70,6 +70,12 @@ namespace AlibabaCloud
 						std::string numa;
 						std::string numa;
 						int coreCount;
 						int coreCount;
 					};
 					};
+					struct MetadataOptions
+					{
+						int httpPutResponseHopLimit;
+						std::string httpTokens;
+						std::string httpEndpoint;
+					};
 					struct NetworkInterface
 					struct NetworkInterface
 					{
 					{
 						std::string primaryIpAddress;
 						std::string primaryIpAddress;
@@ -100,6 +106,7 @@ namespace AlibabaCloud
 					std::string hostName;
 					std::string hostName;
 					std::string vlanId;
 					std::string vlanId;
 					std::string status;
 					std::string status;
+					MetadataOptions metadataOptions;
 					std::string instanceId;
 					std::string instanceId;
 					std::string stoppedMode;
 					std::string stoppedMode;
 					CpuOptions cpuOptions;
 					CpuOptions cpuOptions;

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

@@ -83,6 +83,8 @@ namespace AlibabaCloud
 				void setMaxResults(int maxResults);
 				void setMaxResults(int maxResults);
 				std::vector<std::string> getNetworkInterfaceId()const;
 				std::vector<std::string> getNetworkInterfaceId()const;
 				void setNetworkInterfaceId(const std::vector<std::string>& networkInterfaceId);
 				void setNetworkInterfaceId(const std::vector<std::string>& networkInterfaceId);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
 
 
             private:
             private:
 				long resourceOwnerId_;
 				long resourceOwnerId_;
@@ -106,6 +108,7 @@ namespace AlibabaCloud
 				std::string primaryIpAddress_;
 				std::string primaryIpAddress_;
 				int maxResults_;
 				int maxResults_;
 				std::vector<std::string> networkInterfaceId_;
 				std::vector<std::string> networkInterfaceId_;
+				std::string status_;
 
 
 			};
 			};
 		}
 		}

+ 69 - 0
ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT ModifyInstanceMetadataOptionsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyInstanceMetadataOptionsRequest();
+				~ModifyInstanceMetadataOptionsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				int getHttpPutResponseHopLimit()const;
+				void setHttpPutResponseHopLimit(int httpPutResponseHopLimit);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getHttpEndpoint()const;
+				void setHttpEndpoint(const std::string& httpEndpoint);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getHttpTokens()const;
+				void setHttpTokens(const std::string& httpTokens);
+
+            private:
+				long resourceOwnerId_;
+				int httpPutResponseHopLimit_;
+				std::string regionId_;
+				std::string httpEndpoint_;
+				std::string resourceOwnerAccount_;
+				long ownerId_;
+				std::string instanceId_;
+				std::string httpTokens_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h

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

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

@@ -73,6 +73,8 @@ namespace AlibabaCloud
 				void setUniqueSuffix(bool uniqueSuffix);
 				void setUniqueSuffix(bool uniqueSuffix);
 				std::string getHpcClusterId()const;
 				std::string getHpcClusterId()const;
 				void setHpcClusterId(const std::string& hpcClusterId);
 				void setHpcClusterId(const std::string& hpcClusterId);
+				int getHttpPutResponseHopLimit()const;
+				void setHttpPutResponseHopLimit(int httpPutResponseHopLimit);
 				std::string getSecurityEnhancementStrategy()const;
 				std::string getSecurityEnhancementStrategy()const;
 				void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy);
 				void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy);
 				std::string getKeyPairName()const;
 				std::string getKeyPairName()const;
@@ -163,6 +165,8 @@ namespace AlibabaCloud
 				void setPasswordInherit(bool passwordInherit);
 				void setPasswordInherit(bool passwordInherit);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
+				std::string getHttpEndpoint()const;
+				void setHttpEndpoint(const std::string& httpEndpoint);
 				std::string getInstanceType()const;
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				void setInstanceType(const std::string& instanceType);
 				bool getHibernationConfigured()const;
 				bool getHibernationConfigured()const;
@@ -205,6 +209,8 @@ namespace AlibabaCloud
 				void setSystemDiskSize(const std::string& systemDiskSize);
 				void setSystemDiskSize(const std::string& systemDiskSize);
 				std::string getImageFamily()const;
 				std::string getImageFamily()const;
 				void setImageFamily(const std::string& imageFamily);
 				void setImageFamily(const std::string& imageFamily);
+				std::string getHttpTokens()const;
+				void setHttpTokens(const std::string& httpTokens);
 				std::string getSystemDiskDescription()const;
 				std::string getSystemDiskDescription()const;
 				void setSystemDiskDescription(const std::string& systemDiskDescription);
 				void setSystemDiskDescription(const std::string& systemDiskDescription);
 
 
@@ -213,6 +219,7 @@ namespace AlibabaCloud
 				long resourceOwnerId_;
 				long resourceOwnerId_;
 				bool uniqueSuffix_;
 				bool uniqueSuffix_;
 				std::string hpcClusterId_;
 				std::string hpcClusterId_;
+				int httpPutResponseHopLimit_;
 				std::string securityEnhancementStrategy_;
 				std::string securityEnhancementStrategy_;
 				std::string keyPairName_;
 				std::string keyPairName_;
 				int minAmount_;
 				int minAmount_;
@@ -258,6 +265,7 @@ namespace AlibabaCloud
 				std::string userData_;
 				std::string userData_;
 				bool passwordInherit_;
 				bool passwordInherit_;
 				std::string regionId_;
 				std::string regionId_;
+				std::string httpEndpoint_;
 				std::string instanceType_;
 				std::string instanceType_;
 				bool hibernationConfigured_;
 				bool hibernationConfigured_;
 				std::string instanceChargeType_;
 				std::string instanceChargeType_;
@@ -279,6 +287,7 @@ namespace AlibabaCloud
 				std::string storageSetId_;
 				std::string storageSetId_;
 				std::string systemDiskSize_;
 				std::string systemDiskSize_;
 				std::string imageFamily_;
 				std::string imageFamily_;
+				std::string httpTokens_;
 				std::string systemDiskDescription_;
 				std::string systemDiskDescription_;
 
 
 			};
 			};

+ 36 - 0
ecs/src/EcsClient.cc

@@ -7899,6 +7899,42 @@ EcsClient::ModifyInstanceMaintenanceAttributesOutcomeCallable EcsClient::modifyI
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+EcsClient::ModifyInstanceMetadataOptionsOutcome EcsClient::modifyInstanceMetadataOptions(const ModifyInstanceMetadataOptionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceMetadataOptionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceMetadataOptionsOutcome(ModifyInstanceMetadataOptionsResult(outcome.result()));
+	else
+		return ModifyInstanceMetadataOptionsOutcome(outcome.error());
+}
+
+void EcsClient::modifyInstanceMetadataOptionsAsync(const ModifyInstanceMetadataOptionsRequest& request, const ModifyInstanceMetadataOptionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstanceMetadataOptions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyInstanceMetadataOptionsOutcomeCallable EcsClient::modifyInstanceMetadataOptionsCallable(const ModifyInstanceMetadataOptionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceMetadataOptionsOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstanceMetadataOptions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyInstanceNetworkSpecOutcome EcsClient::modifyInstanceNetworkSpec(const ModifyInstanceNetworkSpecRequest &request) const
 EcsClient::ModifyInstanceNetworkSpecOutcome EcsClient::modifyInstanceNetworkSpec(const ModifyInstanceNetworkSpecRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -71,6 +71,22 @@ void CreateAutoSnapshotPolicyRequest::setRegionId(const std::string& regionId)
 	setParameter("RegionId", regionId);
 	setParameter("RegionId", regionId);
 }
 }
 
 
+std::vector<CreateAutoSnapshotPolicyRequest::Tag> CreateAutoSnapshotPolicyRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateAutoSnapshotPolicyRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
 std::string CreateAutoSnapshotPolicyRequest::getResourceOwnerAccount()const
 std::string CreateAutoSnapshotPolicyRequest::getResourceOwnerAccount()const
 {
 {
 	return resourceOwnerAccount_;
 	return resourceOwnerAccount_;

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

@@ -49,6 +49,17 @@ void CreateInstanceRequest::setHpcClusterId(const std::string& hpcClusterId)
 	setParameter("HpcClusterId", hpcClusterId);
 	setParameter("HpcClusterId", hpcClusterId);
 }
 }
 
 
+int CreateInstanceRequest::getHttpPutResponseHopLimit()const
+{
+	return httpPutResponseHopLimit_;
+}
+
+void CreateInstanceRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit)
+{
+	httpPutResponseHopLimit_ = httpPutResponseHopLimit;
+	setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit));
+}
+
 std::string CreateInstanceRequest::getSecurityEnhancementStrategy()const
 std::string CreateInstanceRequest::getSecurityEnhancementStrategy()const
 {
 {
 	return securityEnhancementStrategy_;
 	return securityEnhancementStrategy_;
@@ -494,6 +505,17 @@ void CreateInstanceRequest::setRegionId(const std::string& regionId)
 	setParameter("RegionId", regionId);
 	setParameter("RegionId", regionId);
 }
 }
 
 
+std::string CreateInstanceRequest::getHttpEndpoint()const
+{
+	return httpEndpoint_;
+}
+
+void CreateInstanceRequest::setHttpEndpoint(const std::string& httpEndpoint)
+{
+	httpEndpoint_ = httpEndpoint;
+	setParameter("HttpEndpoint", httpEndpoint);
+}
+
 std::string CreateInstanceRequest::getInstanceType()const
 std::string CreateInstanceRequest::getInstanceType()const
 {
 {
 	return instanceType_;
 	return instanceType_;
@@ -712,6 +734,17 @@ void CreateInstanceRequest::setImageFamily(const std::string& imageFamily)
 	setParameter("ImageFamily", imageFamily);
 	setParameter("ImageFamily", imageFamily);
 }
 }
 
 
+std::string CreateInstanceRequest::getHttpTokens()const
+{
+	return httpTokens_;
+}
+
+void CreateInstanceRequest::setHttpTokens(const std::string& httpTokens)
+{
+	httpTokens_ = httpTokens;
+	setParameter("HttpTokens", httpTokens);
+}
+
 std::string CreateInstanceRequest::getSystemDiskDescription()const
 std::string CreateInstanceRequest::getSystemDiskDescription()const
 {
 {
 	return systemDiskDescription_;
 	return systemDiskDescription_;

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

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

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

@@ -63,6 +63,16 @@ void DescribeAutoSnapshotPolicyExResult::parse(const std::string &payload)
 			autoSnapshotPoliciesObject.creationTime = valueAutoSnapshotPoliciesAutoSnapshotPolicy["CreationTime"].asString();
 			autoSnapshotPoliciesObject.creationTime = valueAutoSnapshotPoliciesAutoSnapshotPolicy["CreationTime"].asString();
 		if(!valueAutoSnapshotPoliciesAutoSnapshotPolicy["Status"].isNull())
 		if(!valueAutoSnapshotPoliciesAutoSnapshotPolicy["Status"].isNull())
 			autoSnapshotPoliciesObject.status = valueAutoSnapshotPoliciesAutoSnapshotPolicy["Status"].asString();
 			autoSnapshotPoliciesObject.status = valueAutoSnapshotPoliciesAutoSnapshotPolicy["Status"].asString();
+		auto allTagsNode = allAutoSnapshotPoliciesNode["Tags"]["Tag"];
+		for (auto allAutoSnapshotPoliciesNodeTagsTag : allTagsNode)
+		{
+			AutoSnapshotPolicy::Tag tagsObject;
+			if(!allAutoSnapshotPoliciesNodeTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = allAutoSnapshotPoliciesNodeTagsTag["TagKey"].asString();
+			if(!allAutoSnapshotPoliciesNodeTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = allAutoSnapshotPoliciesNodeTagsTag["TagValue"].asString();
+			autoSnapshotPoliciesObject.tags.push_back(tagsObject);
+		}
 		autoSnapshotPolicies_.push_back(autoSnapshotPoliciesObject);
 		autoSnapshotPolicies_.push_back(autoSnapshotPoliciesObject);
 	}
 	}
 	if(!value["TotalCount"].isNull())
 	if(!value["TotalCount"].isNull())

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

@@ -69,6 +69,8 @@ void DescribeInstanceTypesResult::parse(const std::string &payload)
 			instanceTypesObject.eniQuantity = std::stoi(valueInstanceTypesInstanceType["EniQuantity"].asString());
 			instanceTypesObject.eniQuantity = std::stoi(valueInstanceTypesInstanceType["EniQuantity"].asString());
 		if(!valueInstanceTypesInstanceType["EniPrivateIpAddressQuantity"].isNull())
 		if(!valueInstanceTypesInstanceType["EniPrivateIpAddressQuantity"].isNull())
 			instanceTypesObject.eniPrivateIpAddressQuantity = std::stoi(valueInstanceTypesInstanceType["EniPrivateIpAddressQuantity"].asString());
 			instanceTypesObject.eniPrivateIpAddressQuantity = std::stoi(valueInstanceTypesInstanceType["EniPrivateIpAddressQuantity"].asString());
+		if(!valueInstanceTypesInstanceType["EniIpv6AddressQuantity"].isNull())
+			instanceTypesObject.eniIpv6AddressQuantity = std::stoi(valueInstanceTypesInstanceType["EniIpv6AddressQuantity"].asString());
 		if(!valueInstanceTypesInstanceType["InstanceBandwidthRx"].isNull())
 		if(!valueInstanceTypesInstanceType["InstanceBandwidthRx"].isNull())
 			instanceTypesObject.instanceBandwidthRx = std::stoi(valueInstanceTypesInstanceType["InstanceBandwidthRx"].asString());
 			instanceTypesObject.instanceBandwidthRx = std::stoi(valueInstanceTypesInstanceType["InstanceBandwidthRx"].asString());
 		if(!valueInstanceTypesInstanceType["InstanceBandwidthTx"].isNull())
 		if(!valueInstanceTypesInstanceType["InstanceBandwidthTx"].isNull())

+ 46 - 0
ecs/src/model/DescribeInstancesRequest.cc

@@ -71,6 +71,17 @@ void DescribeInstancesRequest::setHpcClusterId(const std::string& hpcClusterId)
 	setParameter("HpcClusterId", hpcClusterId);
 	setParameter("HpcClusterId", hpcClusterId);
 }
 }
 
 
+int DescribeInstancesRequest::getHttpPutResponseHopLimit()const
+{
+	return httpPutResponseHopLimit_;
+}
+
+void DescribeInstancesRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit)
+{
+	httpPutResponseHopLimit_ = httpPutResponseHopLimit;
+	setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit));
+}
+
 std::string DescribeInstancesRequest::getFilter2Value()const
 std::string DescribeInstancesRequest::getFilter2Value()const
 {
 {
 	return filter2Value_;
 	return filter2Value_;
@@ -219,6 +230,19 @@ void DescribeInstancesRequest::setVSwitchId(const std::string& vSwitchId)
 	setParameter("VSwitchId", vSwitchId);
 	setParameter("VSwitchId", vSwitchId);
 }
 }
 
 
+std::vector<std::string> DescribeInstancesRequest::getAdditionalAttributes()const
+{
+	return additionalAttributes_;
+}
+
+void DescribeInstancesRequest::setAdditionalAttributes(const std::vector<std::string>& additionalAttributes)
+{
+	additionalAttributes_ = additionalAttributes;
+	for(int dep1 = 0; dep1!= additionalAttributes.size(); dep1++) {
+		setParameter("AdditionalAttributes."+ std::to_string(dep1), additionalAttributes.at(dep1));
+	}
+}
+
 std::string DescribeInstancesRequest::getInstanceName()const
 std::string DescribeInstancesRequest::getInstanceName()const
 {
 {
 	return instanceName_;
 	return instanceName_;
@@ -373,6 +397,17 @@ void DescribeInstancesRequest::setRdmaIpAddresses(const std::string& rdmaIpAddre
 	setParameter("RdmaIpAddresses", rdmaIpAddresses);
 	setParameter("RdmaIpAddresses", rdmaIpAddresses);
 }
 }
 
 
+std::string DescribeInstancesRequest::getHttpEndpoint()const
+{
+	return httpEndpoint_;
+}
+
+void DescribeInstancesRequest::setHttpEndpoint(const std::string& httpEndpoint)
+{
+	httpEndpoint_ = httpEndpoint;
+	setParameter("HttpEndpoint", httpEndpoint);
+}
+
 int DescribeInstancesRequest::getPageSize()const
 int DescribeInstancesRequest::getPageSize()const
 {
 {
 	return pageSize_;
 	return pageSize_;
@@ -483,6 +518,17 @@ void DescribeInstancesRequest::setVpcId(const std::string& vpcId)
 	setParameter("VpcId", vpcId);
 	setParameter("VpcId", vpcId);
 }
 }
 
 
+std::string DescribeInstancesRequest::getHttpTokens()const
+{
+	return httpTokens_;
+}
+
+void DescribeInstancesRequest::setHttpTokens(const std::string& httpTokens)
+{
+	httpTokens_ = httpTokens;
+	setParameter("HttpTokens", httpTokens);
+}
+
 std::string DescribeInstancesRequest::getFilter3Key()const
 std::string DescribeInstancesRequest::getFilter3Key()const
 {
 {
 	return filter3Key_;
 	return filter3Key_;

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

@@ -206,6 +206,13 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.cpuOptions.threadsPerCore = std::stoi(cpuOptionsNode["ThreadsPerCore"].asString());
 			instancesObject.cpuOptions.threadsPerCore = std::stoi(cpuOptionsNode["ThreadsPerCore"].asString());
 		if(!cpuOptionsNode["Numa"].isNull())
 		if(!cpuOptionsNode["Numa"].isNull())
 			instancesObject.cpuOptions.numa = cpuOptionsNode["Numa"].asString();
 			instancesObject.cpuOptions.numa = cpuOptionsNode["Numa"].asString();
+		auto metadataOptionsNode = value["MetadataOptions"];
+		if(!metadataOptionsNode["HttpEndpoint"].isNull())
+			instancesObject.metadataOptions.httpEndpoint = metadataOptionsNode["HttpEndpoint"].asString();
+		if(!metadataOptionsNode["HttpTokens"].isNull())
+			instancesObject.metadataOptions.httpTokens = metadataOptionsNode["HttpTokens"].asString();
+		if(!metadataOptionsNode["HttpPutResponseHopLimit"].isNull())
+			instancesObject.metadataOptions.httpPutResponseHopLimit = std::stoi(metadataOptionsNode["HttpPutResponseHopLimit"].asString());
 		auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
 		auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
 		for (auto value : allSecurityGroupIds)
 		for (auto value : allSecurityGroupIds)
 			instancesObject.securityGroupIds.push_back(value.asString());
 			instancesObject.securityGroupIds.push_back(value.asString());

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

@@ -267,3 +267,14 @@ void DescribeNetworkInterfacesRequest::setNetworkInterfaceId(const std::vector<s
 	}
 	}
 }
 }
 
 
+std::string DescribeNetworkInterfacesRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeNetworkInterfacesRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+

+ 117 - 0
ecs/src/model/ModifyInstanceMetadataOptionsRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/ModifyInstanceMetadataOptionsRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyInstanceMetadataOptionsRequest;
+
+ModifyInstanceMetadataOptionsRequest::ModifyInstanceMetadataOptionsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyInstanceMetadataOptions")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyInstanceMetadataOptionsRequest::~ModifyInstanceMetadataOptionsRequest()
+{}
+
+long ModifyInstanceMetadataOptionsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+int ModifyInstanceMetadataOptionsRequest::getHttpPutResponseHopLimit()const
+{
+	return httpPutResponseHopLimit_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit)
+{
+	httpPutResponseHopLimit_ = httpPutResponseHopLimit;
+	setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit));
+}
+
+std::string ModifyInstanceMetadataOptionsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ModifyInstanceMetadataOptionsRequest::getHttpEndpoint()const
+{
+	return httpEndpoint_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setHttpEndpoint(const std::string& httpEndpoint)
+{
+	httpEndpoint_ = httpEndpoint;
+	setParameter("HttpEndpoint", httpEndpoint);
+}
+
+std::string ModifyInstanceMetadataOptionsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+long ModifyInstanceMetadataOptionsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ModifyInstanceMetadataOptionsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ModifyInstanceMetadataOptionsRequest::getHttpTokens()const
+{
+	return httpTokens_;
+}
+
+void ModifyInstanceMetadataOptionsRequest::setHttpTokens(const std::string& httpTokens)
+{
+	httpTokens_ = httpTokens;
+	setParameter("HttpTokens", httpTokens);
+}
+

+ 44 - 0
ecs/src/model/ModifyInstanceMetadataOptionsResult.cc

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

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

@@ -71,6 +71,17 @@ void RunInstancesRequest::setHpcClusterId(const std::string& hpcClusterId)
 	setParameter("HpcClusterId", hpcClusterId);
 	setParameter("HpcClusterId", hpcClusterId);
 }
 }
 
 
+int RunInstancesRequest::getHttpPutResponseHopLimit()const
+{
+	return httpPutResponseHopLimit_;
+}
+
+void RunInstancesRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit)
+{
+	httpPutResponseHopLimit_ = httpPutResponseHopLimit;
+	setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit));
+}
+
 std::string RunInstancesRequest::getSecurityEnhancementStrategy()const
 std::string RunInstancesRequest::getSecurityEnhancementStrategy()const
 {
 {
 	return securityEnhancementStrategy_;
 	return securityEnhancementStrategy_;
@@ -573,6 +584,17 @@ void RunInstancesRequest::setRegionId(const std::string& regionId)
 	setParameter("RegionId", regionId);
 	setParameter("RegionId", regionId);
 }
 }
 
 
+std::string RunInstancesRequest::getHttpEndpoint()const
+{
+	return httpEndpoint_;
+}
+
+void RunInstancesRequest::setHttpEndpoint(const std::string& httpEndpoint)
+{
+	httpEndpoint_ = httpEndpoint;
+	setParameter("HttpEndpoint", httpEndpoint);
+}
+
 std::string RunInstancesRequest::getInstanceType()const
 std::string RunInstancesRequest::getInstanceType()const
 {
 {
 	return instanceType_;
 	return instanceType_;
@@ -832,6 +854,17 @@ void RunInstancesRequest::setImageFamily(const std::string& imageFamily)
 	setParameter("ImageFamily", imageFamily);
 	setParameter("ImageFamily", imageFamily);
 }
 }
 
 
+std::string RunInstancesRequest::getHttpTokens()const
+{
+	return httpTokens_;
+}
+
+void RunInstancesRequest::setHttpTokens(const std::string& httpTokens)
+{
+	httpTokens_ = httpTokens;
+	setParameter("HttpTokens", httpTokens);
+}
+
 std::string RunInstancesRequest::getSystemDiskDescription()const
 std::string RunInstancesRequest::getSystemDiskDescription()const
 {
 {
 	return systemDiskDescription_;
 	return systemDiskDescription_;