Browse Source

ECS SDK Auto Released By ansen.as,Version:1.36.23

Signed-off-by: sdk-team <sdk-team@alibabacloud.com>
sdk-team 7 years ago
parent
commit
eb42c015e7
40 changed files with 821 additions and 1 deletions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 8 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 3 0
      ecs/include/alibabacloud/ecs/model/AcceptInquiredSystemEventRequest.h
  5. 3 0
      ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h
  6. 3 0
      ecs/include/alibabacloud/ecs/model/CopyImageRequest.h
  7. 6 0
      ecs/include/alibabacloud/ecs/model/CreateCommandRequest.h
  8. 3 0
      ecs/include/alibabacloud/ecs/model/CreateSecurityGroupRequest.h
  9. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeCommandsResult.h
  10. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h
  11. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
  12. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeDisksResult.h
  13. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  14. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeInvocationsResult.h
  15. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h
  16. 6 0
      ecs/include/alibabacloud/ecs/model/InvokeCommandRequest.h
  17. 6 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h
  18. 123 0
      ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAttributeRequest.h
  19. 55 0
      ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAttributeResult.h
  20. 3 0
      ecs/include/alibabacloud/ecs/model/RevokeSecurityGroupRequest.h
  21. 3 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  22. 36 0
      ecs/src/EcsClient.cc
  23. 11 0
      ecs/src/model/AcceptInquiredSystemEventRequest.cc
  24. 11 0
      ecs/src/model/AllocateDedicatedHostsRequest.cc
  25. 11 0
      ecs/src/model/CopyImageRequest.cc
  26. 22 0
      ecs/src/model/CreateCommandRequest.cc
  27. 11 0
      ecs/src/model/CreateSecurityGroupRequest.cc
  28. 5 0
      ecs/src/model/DescribeCommandsResult.cc
  29. 11 0
      ecs/src/model/DescribeDedicatedHostsRequest.cc
  30. 2 0
      ecs/src/model/DescribeDedicatedHostsResult.cc
  31. 2 0
      ecs/src/model/DescribeDisksResult.cc
  32. 5 0
      ecs/src/model/DescribeInstancesResult.cc
  33. 4 0
      ecs/src/model/DescribeInvocationsResult.cc
  34. 2 0
      ecs/src/model/DescribeSecurityGroupsResult.cc
  35. 22 0
      ecs/src/model/InvokeCommandRequest.cc
  36. 22 0
      ecs/src/model/ModifyDedicatedHostAttributeRequest.cc
  37. 313 0
      ecs/src/model/ModifyReservedInstanceAttributeRequest.cc
  38. 66 0
      ecs/src/model/ModifyReservedInstanceAttributeResult.cc
  39. 11 0
      ecs/src/model/RevokeSecurityGroupRequest.cc
  40. 12 0
      ecs/src/model/RunInstancesRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-05-13 Version: 1.36.23
+1, Support for creating instances and joining multiple security groups at the same time.
+
 2019-04-26 Version: 1.36.22
 1, add new openapi.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.22
+1.36.23

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

@@ -78,6 +78,8 @@
 #include "model/DescribeTaskAttributeResult.h"
 #include "model/CreateAutoSnapshotPolicyRequest.h"
 #include "model/CreateAutoSnapshotPolicyResult.h"
+#include "model/ModifyReservedInstanceAttributeRequest.h"
+#include "model/ModifyReservedInstanceAttributeResult.h"
 #include "model/ReActivateInstancesRequest.h"
 #include "model/ReActivateInstancesResult.h"
 #include "model/DescribeForwardTableEntriesRequest.h"
@@ -619,6 +621,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateAutoSnapshotPolicyResult> CreateAutoSnapshotPolicyOutcome;
 			typedef std::future<CreateAutoSnapshotPolicyOutcome> CreateAutoSnapshotPolicyOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateAutoSnapshotPolicyRequest&, const CreateAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::ModifyReservedInstanceAttributeResult> ModifyReservedInstanceAttributeOutcome;
+			typedef std::future<ModifyReservedInstanceAttributeOutcome> ModifyReservedInstanceAttributeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyReservedInstanceAttributeRequest&, const ModifyReservedInstanceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyReservedInstanceAttributeAsyncHandler;
 			typedef Outcome<Error, Model::ReActivateInstancesResult> ReActivateInstancesOutcome;
 			typedef std::future<ReActivateInstancesOutcome> ReActivateInstancesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ReActivateInstancesRequest&, const ReActivateInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReActivateInstancesAsyncHandler;
@@ -1380,6 +1385,9 @@ namespace AlibabaCloud
 			CreateAutoSnapshotPolicyOutcome createAutoSnapshotPolicy(const Model::CreateAutoSnapshotPolicyRequest &request)const;
 			void createAutoSnapshotPolicyAsync(const Model::CreateAutoSnapshotPolicyRequest& request, const CreateAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateAutoSnapshotPolicyOutcomeCallable createAutoSnapshotPolicyCallable(const Model::CreateAutoSnapshotPolicyRequest& request) const;
+			ModifyReservedInstanceAttributeOutcome modifyReservedInstanceAttribute(const Model::ModifyReservedInstanceAttributeRequest &request)const;
+			void modifyReservedInstanceAttributeAsync(const Model::ModifyReservedInstanceAttributeRequest& request, const ModifyReservedInstanceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyReservedInstanceAttributeOutcomeCallable modifyReservedInstanceAttributeCallable(const Model::ModifyReservedInstanceAttributeRequest& request) const;
 			ReActivateInstancesOutcome reActivateInstances(const Model::ReActivateInstancesRequest &request)const;
 			void reActivateInstancesAsync(const Model::ReActivateInstancesRequest& request, const ReActivateInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReActivateInstancesOutcomeCallable reActivateInstancesCallable(const Model::ReActivateInstancesRequest& request) const;

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

@@ -51,6 +51,8 @@ namespace AlibabaCloud
 				void setCallerType(const std::string& callerType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getSecurityToken()const;
@@ -95,6 +97,7 @@ namespace AlibabaCloud
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				std::string sourceRegionId_;
 				std::string resourceGroupId_;
 				std::string securityToken_;
 				std::string regionId_;

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

@@ -118,6 +118,8 @@ namespace AlibabaCloud
 				void setNetworkAttributesSlbUdpTimeout(int networkAttributesSlbUdpTimeout);
 				std::string getZoneId()const;
 				void setZoneId(const std::string& zoneId);
+				std::string getAutoPlacement()const;
+				void setAutoPlacement(const std::string& autoPlacement);
 				std::string getChargeType()const;
 				void setChargeType(const std::string& chargeType);
 				int getNetworkAttributesUdpTimeout()const;
@@ -163,6 +165,7 @@ namespace AlibabaCloud
 				std::string requestId_;
 				int networkAttributesSlbUdpTimeout_;
 				std::string zoneId_;
+				std::string autoPlacement_;
 				std::string chargeType_;
 				int networkAttributesUdpTimeout_;
 

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

@@ -62,6 +62,8 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				std::vector<Tag> getTag()const;
 				void setTag(const std::vector<Tag>& tag);
+				std::string getKMSKeyId()const;
+				void setKMSKeyId(const std::string& kMSKeyId);
 				std::string getDestinationDescription()const;
 				void setDestinationDescription(const std::string& destinationDescription);
 
@@ -77,6 +79,7 @@ namespace AlibabaCloud
 				bool encrypted_;
 				std::string regionId_;
 				std::vector<Tag> tag_;
+				std::string kMSKeyId_;
 				std::string destinationDescription_;
 
 			};

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

@@ -59,6 +59,8 @@ namespace AlibabaCloud
 				void setTimeout(long timeout);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
 				std::string getRegionId()const;
@@ -93,6 +95,8 @@ namespace AlibabaCloud
 				void setRequestId(const std::string& requestId);
 				std::string getName()const;
 				void setName(const std::string& name);
+				bool getEnableParameter()const;
+				void setEnableParameter(bool enableParameter);
 
             private:
 				long resourceOwnerId_;
@@ -107,6 +111,7 @@ namespace AlibabaCloud
 				std::string commandContent_;
 				long timeout_;
 				std::string accessKeyId_;
+				std::string sourceRegionId_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;
@@ -124,6 +129,7 @@ namespace AlibabaCloud
 				bool security_transport_;
 				std::string requestId_;
 				std::string name_;
+				bool enableParameter_;
 
 			};
 		}

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

@@ -56,6 +56,8 @@ namespace AlibabaCloud
 				void setSecurityGroupName(const std::string& securityGroupName);
 				std::string getSourceRegionId()const;
 				void setSourceRegionId(const std::string& sourceRegionId);
+				std::string getSecurityGroupType()const;
+				void setSecurityGroupType(const std::string& securityGroupType);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getRegionId()const;
@@ -74,6 +76,7 @@ namespace AlibabaCloud
 				long ownerId_;
 				std::string securityGroupName_;
 				std::string sourceRegionId_;
+				std::string securityGroupType_;
 				std::string resourceGroupId_;
 				std::string regionId_;
 				std::string vpcId_;

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

@@ -38,8 +38,10 @@ namespace AlibabaCloud
 					std::string workingDir;
 					std::string type;
 					std::string description;
+					std::vector<std::string> parameterNames;
 					long timeout;
 					std::string creationTime;
+					bool enableParameter;
 					std::string commandId;
 					std::string name;
 				};

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

@@ -54,6 +54,8 @@ namespace AlibabaCloud
 				void setOwnerId(long ownerId);
 				int getPageNumber()const;
 				void setPageNumber(int pageNumber);
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getLockReason()const;
@@ -79,6 +81,7 @@ namespace AlibabaCloud
 				std::string ownerAccount_;
 				long ownerId_;
 				int pageNumber_;
+				std::string sourceRegionId_;
 				std::string resourceGroupId_;
 				std::string lockReason_;
 				std::string regionId_;

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

@@ -79,6 +79,7 @@ namespace AlibabaCloud
 					std::vector<DedicatedHost::Tag> tags;
 					std::string status;
 					std::string zoneId;
+					std::string autoPlacement;
 					std::string dedicatedHostType;
 					std::vector<DedicatedHost::OperationLock> operationLocks;
 					std::vector<DedicatedHost::Instance> instances;

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

@@ -77,6 +77,7 @@ namespace AlibabaCloud
 					std::string autoSnapshotPolicyId;
 					std::string diskName;
 					std::vector<Disk::OperationLock> operationLocks;
+					std::string bdfId;
 					bool portable;
 					std::string type;
 					int mountInstanceNum;

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

@@ -59,6 +59,11 @@ namespace AlibabaCloud
 						std::string capacityReservationPreference;
 						std::string capacityReservationId;
 					};
+					struct DedicatedInstanceAttribute
+					{
+						std::string tenancy;
+						std::string affinity;
+					};
 					struct NetworkInterface
 					{
 						std::string primaryIpAddress;
@@ -106,6 +111,7 @@ namespace AlibabaCloud
 					std::string description;
 					long localStorageCapacity;
 					std::string instanceTypeFamily;
+					DedicatedInstanceAttribute dedicatedInstanceAttribute;
 					int localStorageAmount;
 					std::vector<std::string> publicIpAddress;
 					std::string gPUSpec;

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

@@ -39,7 +39,9 @@ namespace AlibabaCloud
 						std::string instanceId;
 						std::string instanceInvokeStatus;
 					};
+					std::string commandContent;
 					std::string invokeStatus;
+					std::string parameters;
 					std::string commandType;
 					bool timed;
 					std::string frequency;

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

@@ -46,6 +46,7 @@ namespace AlibabaCloud
 					std::string resourceGroupId;
 					std::string securityGroupId;
 					std::string creationTime;
+					std::string securityGroupType;
 					std::vector<SecurityGroup::Tag> tags;
 					int availableInstanceAmount;
 				};

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

@@ -53,6 +53,8 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getFrequency()const;
 				void setFrequency(const std::string& frequency);
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
 				std::string getRegionId()const;
@@ -89,6 +91,8 @@ namespace AlibabaCloud
 				void setInstanceId(const std::vector<std::string>& instanceId);
 				std::string getRequestId()const;
 				void setRequestId(const std::string& requestId);
+				Json getParameters()const;
+				void setParameters(const Json& parameters);
 
             private:
 				long resourceOwnerId_;
@@ -100,6 +104,7 @@ namespace AlibabaCloud
 				std::string callerType_;
 				std::string accessKeyId_;
 				std::string frequency_;
+				std::string sourceRegionId_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;
@@ -118,6 +123,7 @@ namespace AlibabaCloud
 				bool security_transport_;
 				std::vector<std::string> instanceId_;
 				std::string requestId_;
+				Json parameters_;
 
 			};
 		}

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

@@ -51,6 +51,8 @@ namespace AlibabaCloud
 				void setCallerType(const std::string& callerType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
 				std::string getRegionId()const;
@@ -91,6 +93,8 @@ namespace AlibabaCloud
 				void setRequestId(const std::string& requestId);
 				int getNetworkAttributesSlbUdpTimeout()const;
 				void setNetworkAttributesSlbUdpTimeout(int networkAttributesSlbUdpTimeout);
+				std::string getAutoPlacement()const;
+				void setAutoPlacement(const std::string& autoPlacement);
 				int getNetworkAttributesUdpTimeout()const;
 				void setNetworkAttributesUdpTimeout(int networkAttributesUdpTimeout);
 
@@ -103,6 +107,7 @@ namespace AlibabaCloud
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				std::string sourceRegionId_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;
@@ -123,6 +128,7 @@ namespace AlibabaCloud
 				bool security_transport_;
 				std::string requestId_;
 				int networkAttributesSlbUdpTimeout_;
+				std::string autoPlacement_;
 				int networkAttributesUdpTimeout_;
 
 			};

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

@@ -0,0 +1,123 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEATTRIBUTEREQUEST_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 ModifyReservedInstanceAttributeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyReservedInstanceAttributeRequest();
+				~ModifyReservedInstanceAttributeRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getReservedInstanceId()const;
+				void setReservedInstanceId(const std::string& reservedInstanceId);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getReservedInstanceName()const;
+				void setReservedInstanceName(const std::string& reservedInstanceName);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string reservedInstanceId_;
+				std::string requestId_;
+				std::string reservedInstanceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEATTRIBUTEREQUEST_H_

+ 55 - 0
ecs/include/alibabacloud/ecs/model/ModifyReservedInstanceAttributeResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_MODIFYRESERVEDINSTANCEATTRIBUTERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEATTRIBUTERESULT_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 ModifyReservedInstanceAttributeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyReservedInstanceAttributeResult();
+				explicit ModifyReservedInstanceAttributeResult(const std::string &payload);
+				~ModifyReservedInstanceAttributeResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCEATTRIBUTERESULT_H_

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

@@ -59,6 +59,8 @@ namespace AlibabaCloud
 				void setCallerType(const std::string& callerType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				long getSourceGroupOwnerId()const;
 				void setSourceGroupOwnerId(long sourceGroupOwnerId);
 				std::string getSourceGroupOwnerAccount()const;
@@ -127,6 +129,7 @@ namespace AlibabaCloud
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				std::string sourceRegionId_;
 				long sourceGroupOwnerId_;
 				std::string sourceGroupOwnerAccount_;
 				std::string securityToken_;

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

@@ -206,6 +206,8 @@ namespace AlibabaCloud
 				void setCallerBid(const std::string& callerBid);
 				std::string getCreditSpecification()const;
 				void setCreditSpecification(const std::string& creditSpecification);
+				std::vector<std::string> getSecurityGroupIds()const;
+				void setSecurityGroupIds(const std::vector<std::string>& securityGroupIds);
 				std::vector<DataDisk> getDataDisk()const;
 				void setDataDisk(const std::vector<DataDisk>& dataDisk);
 				long getLaunchTemplateVersion()const;
@@ -291,6 +293,7 @@ namespace AlibabaCloud
 				std::string dedicatedHostId_;
 				std::string callerBid_;
 				std::string creditSpecification_;
+				std::vector<std::string> securityGroupIds_;
 				std::vector<DataDisk> dataDisk_;
 				long launchTemplateVersion_;
 				bool proxy_trust_transport_info_;

+ 36 - 0
ecs/src/EcsClient.cc

@@ -1059,6 +1059,42 @@ EcsClient::CreateAutoSnapshotPolicyOutcomeCallable EcsClient::createAutoSnapshot
 	return task->get_future();
 }
 
+EcsClient::ModifyReservedInstanceAttributeOutcome EcsClient::modifyReservedInstanceAttribute(const ModifyReservedInstanceAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyReservedInstanceAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyReservedInstanceAttributeOutcome(ModifyReservedInstanceAttributeResult(outcome.result()));
+	else
+		return ModifyReservedInstanceAttributeOutcome(outcome.error());
+}
+
+void EcsClient::modifyReservedInstanceAttributeAsync(const ModifyReservedInstanceAttributeRequest& request, const ModifyReservedInstanceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyReservedInstanceAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyReservedInstanceAttributeOutcomeCallable EcsClient::modifyReservedInstanceAttributeCallable(const ModifyReservedInstanceAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyReservedInstanceAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyReservedInstanceAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ReActivateInstancesOutcome EcsClient::reActivateInstances(const ReActivateInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -113,6 +113,17 @@ void AcceptInquiredSystemEventRequest::setAccessKeyId(const std::string& accessK
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string AcceptInquiredSystemEventRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void AcceptInquiredSystemEventRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string AcceptInquiredSystemEventRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;

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

@@ -460,6 +460,17 @@ void AllocateDedicatedHostsRequest::setZoneId(const std::string& zoneId)
 	setCoreParameter("ZoneId", zoneId);
 }
 
+std::string AllocateDedicatedHostsRequest::getAutoPlacement()const
+{
+	return autoPlacement_;
+}
+
+void AllocateDedicatedHostsRequest::setAutoPlacement(const std::string& autoPlacement)
+{
+	autoPlacement_ = autoPlacement;
+	setCoreParameter("AutoPlacement", autoPlacement);
+}
+
 std::string AllocateDedicatedHostsRequest::getChargeType()const
 {
 	return chargeType_;

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

@@ -152,6 +152,17 @@ void CopyImageRequest::setTag(const std::vector<Tag>& tag)
 	}
 }
 
+std::string CopyImageRequest::getKMSKeyId()const
+{
+	return kMSKeyId_;
+}
+
+void CopyImageRequest::setKMSKeyId(const std::string& kMSKeyId)
+{
+	kMSKeyId_ = kMSKeyId;
+	setCoreParameter("KMSKeyId", kMSKeyId);
+}
+
 std::string CopyImageRequest::getDestinationDescription()const
 {
 	return destinationDescription_;

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

@@ -157,6 +157,17 @@ void CreateCommandRequest::setAccessKeyId(const std::string& accessKeyId)
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string CreateCommandRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void CreateCommandRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string CreateCommandRequest::getSecurityToken()const
 {
 	return securityToken_;
@@ -344,3 +355,14 @@ void CreateCommandRequest::setName(const std::string& name)
 	setCoreParameter("Name", name);
 }
 
+bool CreateCommandRequest::getEnableParameter()const
+{
+	return enableParameter_;
+}
+
+void CreateCommandRequest::setEnableParameter(bool enableParameter)
+{
+	enableParameter_ = enableParameter;
+	setCoreParameter("EnableParameter", enableParameter ? "true" : "false");
+}
+

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

@@ -113,6 +113,17 @@ void CreateSecurityGroupRequest::setSourceRegionId(const std::string& sourceRegi
 	setCoreParameter("SourceRegionId", sourceRegionId);
 }
 
+std::string CreateSecurityGroupRequest::getSecurityGroupType()const
+{
+	return securityGroupType_;
+}
+
+void CreateSecurityGroupRequest::setSecurityGroupType(const std::string& securityGroupType)
+{
+	securityGroupType_ = securityGroupType;
+	setCoreParameter("SecurityGroupType", securityGroupType);
+}
+
 std::string CreateSecurityGroupRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;

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

@@ -60,6 +60,11 @@ void DescribeCommandsResult::parse(const std::string &payload)
 			commandsObject.timeout = std::stol(value["Timeout"].asString());
 		if(!value["CreationTime"].isNull())
 			commandsObject.creationTime = value["CreationTime"].asString();
+		if(!value["EnableParameter"].isNull())
+			commandsObject.enableParameter = value["EnableParameter"].asString() == "true";
+		auto allParameterNames = value["ParameterNames"]["ParameterName"];
+		for (auto value : allParameterNames)
+			commandsObject.parameterNames.push_back(value.asString());
 		commands_.push_back(commandsObject);
 	}
 	if(!value["TotalCount"].isNull())

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

@@ -102,6 +102,17 @@ void DescribeDedicatedHostsRequest::setPageNumber(int pageNumber)
 	setCoreParameter("PageNumber", std::to_string(pageNumber));
 }
 
+std::string DescribeDedicatedHostsRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeDedicatedHostsRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string DescribeDedicatedHostsRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;

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

@@ -46,6 +46,8 @@ void DescribeDedicatedHostsResult::parse(const std::string &payload)
 		DedicatedHost dedicatedHostsObject;
 		if(!value["DedicatedHostId"].isNull())
 			dedicatedHostsObject.dedicatedHostId = value["DedicatedHostId"].asString();
+		if(!value["AutoPlacement"].isNull())
+			dedicatedHostsObject.autoPlacement = value["AutoPlacement"].asString();
 		if(!value["RegionId"].isNull())
 			dedicatedHostsObject.regionId = value["RegionId"].asString();
 		if(!value["ZoneId"].isNull())

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

@@ -108,6 +108,8 @@ void DescribeDisksResult::parse(const std::string &payload)
 			disksObject.iOPSWrite = std::stoi(value["IOPSWrite"].asString());
 		if(!value["KMSKeyId"].isNull())
 			disksObject.kMSKeyId = value["KMSKeyId"].asString();
+		if(!value["BdfId"].isNull())
+			disksObject.bdfId = value["BdfId"].asString();
 		auto allOperationLocks = value["OperationLocks"]["OperationLock"];
 		for (auto value : allOperationLocks)
 		{

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

@@ -195,6 +195,11 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.ecsCapacityReservationAttr.capacityReservationId = ecsCapacityReservationAttrNode["CapacityReservationId"].asString();
 		if(!ecsCapacityReservationAttrNode["CapacityReservationPreference"].isNull())
 			instancesObject.ecsCapacityReservationAttr.capacityReservationPreference = ecsCapacityReservationAttrNode["CapacityReservationPreference"].asString();
+		auto dedicatedInstanceAttributeNode = value["DedicatedInstanceAttribute"];
+		if(!dedicatedInstanceAttributeNode["Tenancy"].isNull())
+			instancesObject.dedicatedInstanceAttribute.tenancy = dedicatedInstanceAttributeNode["Tenancy"].asString();
+		if(!dedicatedInstanceAttributeNode["Affinity"].isNull())
+			instancesObject.dedicatedInstanceAttribute.affinity = dedicatedInstanceAttributeNode["Affinity"].asString();
 		auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
 		for (auto value : allSecurityGroupIds)
 			instancesObject.securityGroupIds.push_back(value.asString());

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

@@ -58,6 +58,10 @@ void DescribeInvocationsResult::parse(const std::string &payload)
 			invocationsObject.timed = value["Timed"].asString() == "true";
 		if(!value["InvokeStatus"].isNull())
 			invocationsObject.invokeStatus = value["InvokeStatus"].asString();
+		if(!value["Parameters"].isNull())
+			invocationsObject.parameters = value["Parameters"].asString();
+		if(!value["CommandContent"].isNull())
+			invocationsObject.commandContent = value["CommandContent"].asString();
 		auto allInvokeInstances = value["InvokeInstances"]["InvokeInstance"];
 		for (auto value : allInvokeInstances)
 		{

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

@@ -54,6 +54,8 @@ void DescribeSecurityGroupsResult::parse(const std::string &payload)
 			securityGroupsObject.vpcId = value["VpcId"].asString();
 		if(!value["CreationTime"].isNull())
 			securityGroupsObject.creationTime = value["CreationTime"].asString();
+		if(!value["SecurityGroupType"].isNull())
+			securityGroupsObject.securityGroupType = value["SecurityGroupType"].asString();
 		if(!value["AvailableInstanceAmount"].isNull())
 			securityGroupsObject.availableInstanceAmount = std::stoi(value["AvailableInstanceAmount"].asString());
 		if(!value["EcsCount"].isNull())

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

@@ -124,6 +124,17 @@ void InvokeCommandRequest::setFrequency(const std::string& frequency)
 	setCoreParameter("Frequency", frequency);
 }
 
+std::string InvokeCommandRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void InvokeCommandRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string InvokeCommandRequest::getSecurityToken()const
 {
 	return securityToken_;
@@ -323,3 +334,14 @@ void InvokeCommandRequest::setRequestId(const std::string& requestId)
 	setCoreParameter("RequestId", requestId);
 }
 
+Json InvokeCommandRequest::getParameters()const
+{
+	return parameters_;
+}
+
+void InvokeCommandRequest::setParameters(const Json& parameters)
+{
+	parameters_ = parameters;
+	setCoreParameter("Parameters", std::to_string(parameters));
+}
+

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

@@ -113,6 +113,17 @@ void ModifyDedicatedHostAttributeRequest::setAccessKeyId(const std::string& acce
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string ModifyDedicatedHostAttributeRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string ModifyDedicatedHostAttributeRequest::getSecurityToken()const
 {
 	return securityToken_;
@@ -333,6 +344,17 @@ void ModifyDedicatedHostAttributeRequest::setNetworkAttributesSlbUdpTimeout(int
 	setCoreParameter("NetworkAttributesSlbUdpTimeout", std::to_string(networkAttributesSlbUdpTimeout));
 }
 
+std::string ModifyDedicatedHostAttributeRequest::getAutoPlacement()const
+{
+	return autoPlacement_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setAutoPlacement(const std::string& autoPlacement)
+{
+	autoPlacement_ = autoPlacement;
+	setCoreParameter("AutoPlacement", autoPlacement);
+}
+
 int ModifyDedicatedHostAttributeRequest::getNetworkAttributesUdpTimeout()const
 {
 	return networkAttributesUdpTimeout_;

+ 313 - 0
ecs/src/model/ModifyReservedInstanceAttributeRequest.cc

@@ -0,0 +1,313 @@
+/*
+ * 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/ModifyReservedInstanceAttributeRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyReservedInstanceAttributeRequest;
+
+ModifyReservedInstanceAttributeRequest::ModifyReservedInstanceAttributeRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyReservedInstanceAttribute")
+{}
+
+ModifyReservedInstanceAttributeRequest::~ModifyReservedInstanceAttributeRequest()
+{}
+
+long ModifyReservedInstanceAttributeRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ModifyReservedInstanceAttributeRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ModifyReservedInstanceAttributeRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setCoreParameter("Proxy_original_security_transport", proxy_original_security_transport ? "true" : "false");
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setCoreParameter("Description", description);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setCoreParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool ModifyReservedInstanceAttributeRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ModifyReservedInstanceAttributeRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long ModifyReservedInstanceAttributeRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ModifyReservedInstanceAttributeRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setCoreParameter("Proxy_trust_transport_info", proxy_trust_transport_info ? "true" : "false");
+}
+
+bool ModifyReservedInstanceAttributeRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool ModifyReservedInstanceAttributeRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getReservedInstanceId()const
+{
+	return reservedInstanceId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setReservedInstanceId(const std::string& reservedInstanceId)
+{
+	reservedInstanceId_ = reservedInstanceId;
+	setCoreParameter("ReservedInstanceId", reservedInstanceId);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string ModifyReservedInstanceAttributeRequest::getReservedInstanceName()const
+{
+	return reservedInstanceName_;
+}
+
+void ModifyReservedInstanceAttributeRequest::setReservedInstanceName(const std::string& reservedInstanceName)
+{
+	reservedInstanceName_ = reservedInstanceName;
+	setCoreParameter("ReservedInstanceName", reservedInstanceName);
+}
+

+ 66 - 0
ecs/src/model/ModifyReservedInstanceAttributeResult.cc

@@ -0,0 +1,66 @@
+/*
+ * 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/ModifyReservedInstanceAttributeResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+ModifyReservedInstanceAttributeResult::ModifyReservedInstanceAttributeResult() :
+	ServiceResult()
+{}
+
+ModifyReservedInstanceAttributeResult::ModifyReservedInstanceAttributeResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyReservedInstanceAttributeResult::~ModifyReservedInstanceAttributeResult()
+{}
+
+void ModifyReservedInstanceAttributeResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string ModifyReservedInstanceAttributeResult::getMessage()const
+{
+	return message_;
+}
+
+int ModifyReservedInstanceAttributeResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string ModifyReservedInstanceAttributeResult::getCode()const
+{
+	return code_;
+}
+

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

@@ -157,6 +157,17 @@ void RevokeSecurityGroupRequest::setAccessKeyId(const std::string& accessKeyId)
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string RevokeSecurityGroupRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void RevokeSecurityGroupRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 long RevokeSecurityGroupRequest::getSourceGroupOwnerId()const
 {
 	return sourceGroupOwnerId_;

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

@@ -844,6 +844,18 @@ void RunInstancesRequest::setCreditSpecification(const std::string& creditSpecif
 	setCoreParameter("CreditSpecification", creditSpecification);
 }
 
+std::vector<std::string> RunInstancesRequest::getSecurityGroupIds()const
+{
+	return securityGroupIds_;
+}
+
+void RunInstancesRequest::setSecurityGroupIds(const std::vector<std::string>& securityGroupIds)
+{
+	securityGroupIds_ = securityGroupIds;
+	for(int i = 0; i!= securityGroupIds.size(); i++)
+		setCoreParameter("SecurityGroupIds."+ std::to_string(i), securityGroupIds.at(i));
+}
+
 std::vector<RunInstancesRequest::DataDisk> RunInstancesRequest::getDataDisk()const
 {
 	return dataDisk_;