Bladeren bron

Support create image with boot mode.

sdk-team 4 jaren geleden
bovenliggende
commit
384ce24607

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1239
+1.36.1240

+ 4 - 0
ecs/CMakeLists.txt

@@ -655,6 +655,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/RenewDedicatedHostsResult.h
 	include/alibabacloud/ecs/model/RenewInstanceRequest.h
 	include/alibabacloud/ecs/model/RenewInstanceResult.h
+	include/alibabacloud/ecs/model/RenewReservedInstancesRequest.h
+	include/alibabacloud/ecs/model/RenewReservedInstancesResult.h
 	include/alibabacloud/ecs/model/ReplaceSystemDiskRequest.h
 	include/alibabacloud/ecs/model/ReplaceSystemDiskResult.h
 	include/alibabacloud/ecs/model/ReportInstancesStatusRequest.h
@@ -1344,6 +1346,8 @@ set(ecs_src
 	src/model/RenewDedicatedHostsResult.cc
 	src/model/RenewInstanceRequest.cc
 	src/model/RenewInstanceResult.cc
+	src/model/RenewReservedInstancesRequest.cc
+	src/model/RenewReservedInstancesResult.cc
 	src/model/ReplaceSystemDiskRequest.cc
 	src/model/ReplaceSystemDiskResult.cc
 	src/model/ReportInstancesStatusRequest.cc

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

@@ -656,6 +656,8 @@
 #include "model/RenewDedicatedHostsResult.h"
 #include "model/RenewInstanceRequest.h"
 #include "model/RenewInstanceResult.h"
+#include "model/RenewReservedInstancesRequest.h"
+#include "model/RenewReservedInstancesResult.h"
 #include "model/ReplaceSystemDiskRequest.h"
 #include "model/ReplaceSystemDiskResult.h"
 #include "model/ReportInstancesStatusRequest.h"
@@ -1668,6 +1670,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RenewInstanceResult> RenewInstanceOutcome;
 			typedef std::future<RenewInstanceOutcome> RenewInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::RenewInstanceRequest&, const RenewInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewInstanceAsyncHandler;
+			typedef Outcome<Error, Model::RenewReservedInstancesResult> RenewReservedInstancesOutcome;
+			typedef std::future<RenewReservedInstancesOutcome> RenewReservedInstancesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::RenewReservedInstancesRequest&, const RenewReservedInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewReservedInstancesAsyncHandler;
 			typedef Outcome<Error, Model::ReplaceSystemDiskResult> ReplaceSystemDiskOutcome;
 			typedef std::future<ReplaceSystemDiskOutcome> ReplaceSystemDiskOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ReplaceSystemDiskRequest&, const ReplaceSystemDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReplaceSystemDiskAsyncHandler;
@@ -2702,6 +2707,9 @@ namespace AlibabaCloud
 			RenewInstanceOutcome renewInstance(const Model::RenewInstanceRequest &request)const;
 			void renewInstanceAsync(const Model::RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RenewInstanceOutcomeCallable renewInstanceCallable(const Model::RenewInstanceRequest& request) const;
+			RenewReservedInstancesOutcome renewReservedInstances(const Model::RenewReservedInstancesRequest &request)const;
+			void renewReservedInstancesAsync(const Model::RenewReservedInstancesRequest& request, const RenewReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RenewReservedInstancesOutcomeCallable renewReservedInstancesCallable(const Model::RenewReservedInstancesRequest& request) const;
 			ReplaceSystemDiskOutcome replaceSystemDisk(const Model::ReplaceSystemDiskRequest &request)const;
 			void replaceSystemDiskAsync(const Model::ReplaceSystemDiskRequest& request, const ReplaceSystemDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReplaceSystemDiskOutcomeCallable replaceSystemDiskCallable(const Model::ReplaceSystemDiskRequest& request) const;

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

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

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

@@ -28,10 +28,6 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DeleteImageComponentRequest : public RpcServiceRequest {
 public:
-	struct TemplateTag {
-		std::string key;
-		std::string value;
-	};
 	DeleteImageComponentRequest();
 	~DeleteImageComponentRequest();
 	long getResourceOwnerId() const;
@@ -40,8 +36,6 @@ public:
 	void setImageComponentId(const std::string &imageComponentId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
-	std::vector<TemplateTag> getTemplateTag() const;
-	void setTemplateTag(const std::vector<TemplateTag> &templateTag);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -53,7 +47,6 @@ private:
 	long resourceOwnerId_;
 	std::string imageComponentId_;
 	std::string regionId_;
-	std::vector<TemplateTag> templateTag_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

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

@@ -28,10 +28,6 @@ namespace Ecs {
 namespace Model {
 class ALIBABACLOUD_ECS_EXPORT DeleteImagePipelineRequest : public RpcServiceRequest {
 public:
-	struct TemplateTag {
-		std::string key;
-		std::string value;
-	};
 	DeleteImagePipelineRequest();
 	~DeleteImagePipelineRequest();
 	std::string getImagePipelineId() const;
@@ -40,8 +36,6 @@ public:
 	void setResourceOwnerId(long resourceOwnerId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
-	std::vector<TemplateTag> getTemplateTag() const;
-	void setTemplateTag(const std::vector<TemplateTag> &templateTag);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -53,7 +47,6 @@ private:
 	std::string imagePipelineId_;
 	long resourceOwnerId_;
 	std::string regionId_;
-	std::vector<TemplateTag> templateTag_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

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

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

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

@@ -51,6 +51,7 @@ namespace AlibabaCloud
 						std::string invokeRecordStatus;
 						std::string finishedTime;
 						std::string username;
+						std::string containerId;
 						std::string output;
 						std::string commandId;
 						std::string errorCode;

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

@@ -69,6 +69,7 @@ namespace AlibabaCloud
 					std::string invokeStatus;
 					std::string commandType;
 					std::string username;
+					std::string containerId;
 					std::string creationTime;
 					std::string frequency;
 					std::string commandId;

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

@@ -52,6 +52,8 @@ public:
 	void setOwnerId(long ownerId);
 	std::vector<std::string> getInstanceId() const;
 	void setInstanceId(const std::vector<std::string> &instanceId);
+	std::string getContainerId() const;
+	void setContainerId(const std::string &containerId);
 	std::map<std::string, std::string> getParameters() const;
 	void setParameters(std::map<std::string, std::string> parameters);
 	std::string getUsername() const;
@@ -69,6 +71,7 @@ private:
 	std::string ownerAccount_;
 	long ownerId_;
 	std::vector<std::string> instanceId_;
+	std::string containerId_;
 	std::map<std::string, std::string> parameters_;
 	std::string username_;
 };

+ 66 - 0
ecs/include/alibabacloud/ecs/model/RenewReservedInstancesRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_RENEWRESERVEDINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_RENEWRESERVEDINSTANCESREQUEST_H_
+
+#include <alibabacloud/ecs/EcsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ecs {
+namespace Model {
+class ALIBABACLOUD_ECS_EXPORT RenewReservedInstancesRequest : public RpcServiceRequest {
+public:
+	RenewReservedInstancesRequest();
+	~RenewReservedInstancesRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPeriod() const;
+	void setPeriod(int period);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getPeriodUnit() const;
+	void setPeriodUnit(const std::string &periodUnit);
+	std::vector<std::string> getReservedInstanceId() const;
+	void setReservedInstanceId(const std::vector<std::string> &reservedInstanceId);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string regionId_;
+	int period_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string periodUnit_;
+	std::vector<std::string> reservedInstanceId_;
+};
+} // namespace Model
+} // namespace Ecs
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ECS_MODEL_RENEWRESERVEDINSTANCESREQUEST_H_

+ 53 - 0
ecs/include/alibabacloud/ecs/model/RenewReservedInstancesResult.h

@@ -0,0 +1,53 @@
+/*
+ * 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_RENEWRESERVEDINSTANCESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_RENEWRESERVEDINSTANCESRESULT_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 RenewReservedInstancesResult : public ServiceResult
+			{
+			public:
+
+
+				RenewReservedInstancesResult();
+				explicit RenewReservedInstancesResult(const std::string &payload);
+				~RenewReservedInstancesResult();
+				std::vector<std::string> getReservedInstanceIdSets()const;
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> reservedInstanceIdSets_;
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_RENEWRESERVEDINSTANCESRESULT_H_

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

@@ -72,6 +72,8 @@ public:
 	void setInstanceId(const std::vector<std::string> &instanceId);
 	std::string getName() const;
 	void setName(const std::string &name);
+	std::string getContainerId() const;
+	void setContainerId(const std::string &containerId);
 	std::map<std::string, std::string> getParameters() const;
 	void setParameters(std::map<std::string, std::string> parameters);
 	bool getEnableParameter() const;
@@ -99,6 +101,7 @@ private:
 	long ownerId_;
 	std::vector<std::string> instanceId_;
 	std::string name_;
+	std::string containerId_;
 	std::map<std::string, std::string> parameters_;
 	bool enableParameter_;
 	std::string username_;

+ 36 - 0
ecs/src/EcsClient.cc

@@ -11463,6 +11463,42 @@ EcsClient::RenewInstanceOutcomeCallable EcsClient::renewInstanceCallable(const R
 	return task->get_future();
 }
 
+EcsClient::RenewReservedInstancesOutcome EcsClient::renewReservedInstances(const RenewReservedInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RenewReservedInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RenewReservedInstancesOutcome(RenewReservedInstancesResult(outcome.result()));
+	else
+		return RenewReservedInstancesOutcome(outcome.error());
+}
+
+void EcsClient::renewReservedInstancesAsync(const RenewReservedInstancesRequest& request, const RenewReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, renewReservedInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::RenewReservedInstancesOutcomeCallable EcsClient::renewReservedInstancesCallable(const RenewReservedInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RenewReservedInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->renewReservedInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ReplaceSystemDiskOutcome EcsClient::replaceSystemDisk(const ReplaceSystemDiskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -95,6 +95,15 @@ void CreateImageRequest::setResourceGroupId(const std::string &resourceGroupId)
   setParameter(std::string("ResourceGroupId"), resourceGroupId);
 }
 
+std::string CreateImageRequest::getBootMode() const {
+  return bootMode_;
+}
+
+void CreateImageRequest::setBootMode(const std::string &bootMode) {
+  bootMode_ = bootMode;
+  setParameter(std::string("BootMode"), bootMode);
+}
+
 std::string CreateImageRequest::getRegionId() const {
   return regionId_;
 }

+ 0 - 14
ecs/src/model/DeleteImageComponentRequest.cc

@@ -52,20 +52,6 @@ void DeleteImageComponentRequest::setRegionId(const std::string &regionId) {
   setParameter(std::string("RegionId"), regionId);
 }
 
-std::vector<DeleteImageComponentRequest::TemplateTag> DeleteImageComponentRequest::getTemplateTag() const {
-  return templateTag_;
-}
-
-void DeleteImageComponentRequest::setTemplateTag(const std::vector<DeleteImageComponentRequest::TemplateTag> &templateTag) {
-  templateTag_ = templateTag;
-  for(int dep1 = 0; dep1 != templateTag.size(); dep1++) {
-  auto templateTagObj = templateTag.at(dep1);
-  std::string templateTagObjStr = std::string("TemplateTag") + "." + std::to_string(dep1 + 1);
-    setParameter(templateTagObjStr + ".Key", templateTagObj.key);
-    setParameter(templateTagObjStr + ".Value", templateTagObj.value);
-  }
-}
-
 std::string DeleteImageComponentRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 0 - 14
ecs/src/model/DeleteImagePipelineRequest.cc

@@ -52,20 +52,6 @@ void DeleteImagePipelineRequest::setRegionId(const std::string &regionId) {
   setParameter(std::string("RegionId"), regionId);
 }
 
-std::vector<DeleteImagePipelineRequest::TemplateTag> DeleteImagePipelineRequest::getTemplateTag() const {
-  return templateTag_;
-}
-
-void DeleteImagePipelineRequest::setTemplateTag(const std::vector<DeleteImagePipelineRequest::TemplateTag> &templateTag) {
-  templateTag_ = templateTag;
-  for(int dep1 = 0; dep1 != templateTag.size(); dep1++) {
-  auto templateTagObj = templateTag.at(dep1);
-  std::string templateTagObjStr = std::string("TemplateTag") + "." + std::to_string(dep1 + 1);
-    setParameter(templateTagObjStr + ".Key", templateTagObj.key);
-    setParameter(templateTagObjStr + ".Value", templateTagObj.value);
-  }
-}
-
 std::string DeleteImagePipelineRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

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

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

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

@@ -80,6 +80,8 @@ void DescribeInvocationResultsResult::parse(const std::string &payload)
 			invocationResultObject.invokeRecordStatus = invocationNodeInvocationResultsInvocationResult["InvokeRecordStatus"].asString();
 		if(!invocationNodeInvocationResultsInvocationResult["Username"].isNull())
 			invocationResultObject.username = invocationNodeInvocationResultsInvocationResult["Username"].asString();
+		if(!invocationNodeInvocationResultsInvocationResult["ContainerId"].isNull())
+			invocationResultObject.containerId = invocationNodeInvocationResultsInvocationResult["ContainerId"].asString();
 		auto allTagsNode = invocationNodeInvocationResultsInvocationResult["Tags"]["Tag"];
 		for (auto invocationNodeInvocationResultsInvocationResultTagsTag : allTagsNode)
 		{

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

@@ -75,6 +75,8 @@ void DescribeInvocationsResult::parse(const std::string &payload)
 			invocationsObject.workingDir = valueInvocationsInvocation["WorkingDir"].asString();
 		if(!valueInvocationsInvocation["Timeout"].isNull())
 			invocationsObject.timeout = std::stol(valueInvocationsInvocation["Timeout"].asString());
+		if(!valueInvocationsInvocation["ContainerId"].isNull())
+			invocationsObject.containerId = valueInvocationsInvocation["ContainerId"].asString();
 		auto allInvokeInstancesNode = valueInvocationsInvocation["InvokeInstances"]["InvokeInstance"];
 		for (auto valueInvocationsInvocationInvokeInstancesInvokeInstance : allInvokeInstancesNode)
 		{

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

@@ -123,6 +123,15 @@ void InvokeCommandRequest::setInstanceId(const std::vector<std::string> &instanc
   instanceId_ = instanceId;
 }
 
+std::string InvokeCommandRequest::getContainerId() const {
+  return containerId_;
+}
+
+void InvokeCommandRequest::setContainerId(const std::string &containerId) {
+  containerId_ = containerId;
+  setParameter(std::string("ContainerId"), containerId);
+}
+
 std::map<std::string, std::string> InvokeCommandRequest::getParameters() const {
   return parameters_;
 }

+ 107 - 0
ecs/src/model/RenewReservedInstancesRequest.cc

@@ -0,0 +1,107 @@
+/*
+ * 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/RenewReservedInstancesRequest.h>
+
+using AlibabaCloud::Ecs::Model::RenewReservedInstancesRequest;
+
+RenewReservedInstancesRequest::RenewReservedInstancesRequest()
+    : RpcServiceRequest("ecs", "2014-05-26", "RenewReservedInstances") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RenewReservedInstancesRequest::~RenewReservedInstancesRequest() {}
+
+long RenewReservedInstancesRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void RenewReservedInstancesRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string RenewReservedInstancesRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void RenewReservedInstancesRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string RenewReservedInstancesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void RenewReservedInstancesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int RenewReservedInstancesRequest::getPeriod() const {
+  return period_;
+}
+
+void RenewReservedInstancesRequest::setPeriod(int period) {
+  period_ = period;
+  setParameter(std::string("Period"), std::to_string(period));
+}
+
+std::string RenewReservedInstancesRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void RenewReservedInstancesRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string RenewReservedInstancesRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void RenewReservedInstancesRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long RenewReservedInstancesRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void RenewReservedInstancesRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string RenewReservedInstancesRequest::getPeriodUnit() const {
+  return periodUnit_;
+}
+
+void RenewReservedInstancesRequest::setPeriodUnit(const std::string &periodUnit) {
+  periodUnit_ = periodUnit;
+  setParameter(std::string("PeriodUnit"), periodUnit);
+}
+
+std::vector<std::string> RenewReservedInstancesRequest::getReservedInstanceId() const {
+  return reservedInstanceId_;
+}
+
+void RenewReservedInstancesRequest::setReservedInstanceId(const std::vector<std::string> &reservedInstanceId) {
+  reservedInstanceId_ = reservedInstanceId;
+}
+

+ 59 - 0
ecs/src/model/RenewReservedInstancesResult.cc

@@ -0,0 +1,59 @@
+/*
+ * 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/RenewReservedInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+RenewReservedInstancesResult::RenewReservedInstancesResult() :
+	ServiceResult()
+{}
+
+RenewReservedInstancesResult::RenewReservedInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+RenewReservedInstancesResult::~RenewReservedInstancesResult()
+{}
+
+void RenewReservedInstancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allReservedInstanceIdSets = value["ReservedInstanceIdSets"]["ReservedInstanceId"];
+	for (const auto &item : allReservedInstanceIdSets)
+		reservedInstanceIdSets_.push_back(item.asString());
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
+
+}
+
+std::vector<std::string> RenewReservedInstancesResult::getReservedInstanceIdSets()const
+{
+	return reservedInstanceIdSets_;
+}
+
+std::string RenewReservedInstancesResult::getOrderId()const
+{
+	return orderId_;
+}
+

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

@@ -200,6 +200,15 @@ void RunCommandRequest::setName(const std::string &name) {
   setParameter(std::string("Name"), name);
 }
 
+std::string RunCommandRequest::getContainerId() const {
+  return containerId_;
+}
+
+void RunCommandRequest::setContainerId(const std::string &containerId) {
+  containerId_ = containerId;
+  setParameter(std::string("ContainerId"), containerId);
+}
+
 std::map<std::string, std::string> RunCommandRequest::getParameters() const {
   return parameters_;
 }