Browse Source

ECS SDK Auto Released By shaoyi.qusy,Version:1.36.32

Signed-off-by: sdk-team <sdk-team@alibabacloud.com>
sdk-team 7 years ago
parent
commit
de0a72b9c7
52 changed files with 4912 additions and 1 deletions
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 56 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 185 0
      ecs/include/alibabacloud/ecs/model/CreateFleetRequest.h
  5. 51 0
      ecs/include/alibabacloud/ecs/model/CreateFleetResult.h
  6. 2 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceResult.h
  7. 120 0
      ecs/include/alibabacloud/ecs/model/DeleteFleetRequest.h
  8. 49 0
      ecs/include/alibabacloud/ecs/model/DeleteFleetResult.h
  9. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeBandwidthLimitationRequest.h
  10. 117 0
      ecs/include/alibabacloud/ecs/model/DescribeFleetHistoryRequest.h
  11. 70 0
      ecs/include/alibabacloud/ecs/model/DescribeFleetHistoryResult.h
  12. 123 0
      ecs/include/alibabacloud/ecs/model/DescribeFleetInstancesRequest.h
  13. 73 0
      ecs/include/alibabacloud/ecs/model/DescribeFleetInstancesResult.h
  14. 129 0
      ecs/include/alibabacloud/ecs/model/DescribeFleetsRequest.h
  15. 105 0
      ecs/include/alibabacloud/ecs/model/DescribeFleetsResult.h
  16. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeImageSupportInstanceTypesRequest.h
  17. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesFullStatusRequest.h
  18. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeKeyPairsRequest.h
  19. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeRenewalPriceRequest.h
  20. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeTagsRequest.h
  21. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeTaskAttributeRequest.h
  22. 138 0
      ecs/include/alibabacloud/ecs/model/ModifyFleetRequest.h
  23. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyFleetResult.h
  24. 6 0
      ecs/include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecRequest.h
  25. 141 0
      ecs/include/alibabacloud/ecs/model/ReportInstancesStatusRequest.h
  26. 49 0
      ecs/include/alibabacloud/ecs/model/ReportInstancesStatusResult.h
  27. 2 0
      ecs/include/alibabacloud/ecs/model/RunInstancesResult.h
  28. 252 0
      ecs/src/EcsClient.cc
  29. 520 0
      ecs/src/model/CreateFleetRequest.cc
  30. 52 0
      ecs/src/model/CreateFleetResult.cc
  31. 7 0
      ecs/src/model/CreateInstanceResult.cc
  32. 302 0
      ecs/src/model/DeleteFleetRequest.cc
  33. 45 0
      ecs/src/model/DeleteFleetResult.cc
  34. 11 0
      ecs/src/model/DescribeBandwidthLimitationRequest.cc
  35. 291 0
      ecs/src/model/DescribeFleetHistoryRequest.cc
  36. 95 0
      ecs/src/model/DescribeFleetHistoryResult.cc
  37. 313 0
      ecs/src/model/DescribeFleetInstancesRequest.cc
  38. 103 0
      ecs/src/model/DescribeFleetInstancesResult.cc
  39. 337 0
      ecs/src/model/DescribeFleetsRequest.cc
  40. 144 0
      ecs/src/model/DescribeFleetsResult.cc
  41. 11 0
      ecs/src/model/DescribeImageSupportInstanceTypesRequest.cc
  42. 11 0
      ecs/src/model/DescribeInstancesFullStatusRequest.cc
  43. 11 0
      ecs/src/model/DescribeKeyPairsRequest.cc
  44. 11 0
      ecs/src/model/DescribeRenewalPriceRequest.cc
  45. 22 0
      ecs/src/model/DescribeTagsRequest.cc
  46. 11 0
      ecs/src/model/DescribeTaskAttributeRequest.cc
  47. 368 0
      ecs/src/model/ModifyFleetRequest.cc
  48. 45 0
      ecs/src/model/ModifyFleetResult.cc
  49. 22 0
      ecs/src/model/ModifyPrepayInstanceSpecRequest.cc
  50. 382 0
      ecs/src/model/ReportInstancesStatusRequest.cc
  51. 45 0
      ecs/src/model/ReportInstancesStatusResult.cc
  52. 7 0
      ecs/src/model/RunInstancesResult.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2019-05-22 Version: 1.36.32
+1, Add EndTime parameter to api ModifyPrepayInstanceSpec
+2, Add RebootTime parameter to api ModifyPrepayInstanceSpec
+
 2019-05-20 Version: 1.36.31
 1, Add both api, ListNotaryInfos
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.31
+1.36.32

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

@@ -150,6 +150,8 @@
 #include "model/ModifyDedicatedHostAttributeResult.h"
 #include "model/CreateRouteEntryRequest.h"
 #include "model/CreateRouteEntryResult.h"
+#include "model/ModifyFleetRequest.h"
+#include "model/ModifyFleetResult.h"
 #include "model/AttachKeyPairRequest.h"
 #include "model/AttachKeyPairResult.h"
 #include "model/DescribeInvocationsRequest.h"
@@ -174,6 +176,8 @@
 #include "model/ModifyDiskAttributeResult.h"
 #include "model/CreateVSwitchRequest.h"
 #include "model/CreateVSwitchResult.h"
+#include "model/DescribeFleetsRequest.h"
+#include "model/DescribeFleetsResult.h"
 #include "model/DescribeBandwidthLimitationRequest.h"
 #include "model/DescribeBandwidthLimitationResult.h"
 #include "model/ModifyEipAddressAttributeRequest.h"
@@ -204,6 +208,8 @@
 #include "model/DescribeInstancesFullStatusResult.h"
 #include "model/DescribeDedicatedHostsRequest.h"
 #include "model/DescribeDedicatedHostsResult.h"
+#include "model/DescribeFleetInstancesRequest.h"
+#include "model/DescribeFleetInstancesResult.h"
 #include "model/ReleaseEipAddressRequest.h"
 #include "model/ReleaseEipAddressResult.h"
 #include "model/DetachClassicLinkVpcRequest.h"
@@ -274,6 +280,8 @@
 #include "model/DescribeCommandsResult.h"
 #include "model/DeleteImageRequest.h"
 #include "model/DeleteImageResult.h"
+#include "model/CreateFleetRequest.h"
+#include "model/CreateFleetResult.h"
 #include "model/DescribeNetworkInterfacePermissionsRequest.h"
 #include "model/DescribeNetworkInterfacePermissionsResult.h"
 #include "model/DescribeDisksRequest.h"
@@ -374,8 +382,12 @@
 #include "model/ResetDiskResult.h"
 #include "model/ModifyDiskChargeTypeRequest.h"
 #include "model/ModifyDiskChargeTypeResult.h"
+#include "model/DeleteFleetRequest.h"
+#include "model/DeleteFleetResult.h"
 #include "model/DescribeBandwidthPackagesRequest.h"
 #include "model/DescribeBandwidthPackagesResult.h"
+#include "model/DescribeFleetHistoryRequest.h"
+#include "model/DescribeFleetHistoryResult.h"
 #include "model/ApplyAutoSnapshotPolicyRequest.h"
 #include "model/ApplyAutoSnapshotPolicyResult.h"
 #include "model/CreateSecurityGroupRequest.h"
@@ -424,6 +436,8 @@
 #include "model/EipNotifyPaidResult.h"
 #include "model/ReleasePublicIpAddressRequest.h"
 #include "model/ReleasePublicIpAddressResult.h"
+#include "model/ReportInstancesStatusRequest.h"
+#include "model/ReportInstancesStatusResult.h"
 #include "model/CreateVirtualBorderRouterRequest.h"
 #include "model/CreateVirtualBorderRouterResult.h"
 #include "model/DescribeAccountAttributesRequest.h"
@@ -729,6 +743,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateRouteEntryResult> CreateRouteEntryOutcome;
 			typedef std::future<CreateRouteEntryOutcome> CreateRouteEntryOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateRouteEntryRequest&, const CreateRouteEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRouteEntryAsyncHandler;
+			typedef Outcome<Error, Model::ModifyFleetResult> ModifyFleetOutcome;
+			typedef std::future<ModifyFleetOutcome> ModifyFleetOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyFleetRequest&, const ModifyFleetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFleetAsyncHandler;
 			typedef Outcome<Error, Model::AttachKeyPairResult> AttachKeyPairOutcome;
 			typedef std::future<AttachKeyPairOutcome> AttachKeyPairOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::AttachKeyPairRequest&, const AttachKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachKeyPairAsyncHandler;
@@ -765,6 +782,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateVSwitchResult> CreateVSwitchOutcome;
 			typedef std::future<CreateVSwitchOutcome> CreateVSwitchOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateVSwitchRequest&, const CreateVSwitchOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateVSwitchAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFleetsResult> DescribeFleetsOutcome;
+			typedef std::future<DescribeFleetsOutcome> DescribeFleetsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeFleetsRequest&, const DescribeFleetsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFleetsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeBandwidthLimitationResult> DescribeBandwidthLimitationOutcome;
 			typedef std::future<DescribeBandwidthLimitationOutcome> DescribeBandwidthLimitationOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeBandwidthLimitationRequest&, const DescribeBandwidthLimitationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBandwidthLimitationAsyncHandler;
@@ -810,6 +830,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDedicatedHostsResult> DescribeDedicatedHostsOutcome;
 			typedef std::future<DescribeDedicatedHostsOutcome> DescribeDedicatedHostsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeDedicatedHostsRequest&, const DescribeDedicatedHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedHostsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFleetInstancesResult> DescribeFleetInstancesOutcome;
+			typedef std::future<DescribeFleetInstancesOutcome> DescribeFleetInstancesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeFleetInstancesRequest&, const DescribeFleetInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFleetInstancesAsyncHandler;
 			typedef Outcome<Error, Model::ReleaseEipAddressResult> ReleaseEipAddressOutcome;
 			typedef std::future<ReleaseEipAddressOutcome> ReleaseEipAddressOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ReleaseEipAddressRequest&, const ReleaseEipAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseEipAddressAsyncHandler;
@@ -915,6 +938,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteImageResult> DeleteImageOutcome;
 			typedef std::future<DeleteImageOutcome> DeleteImageOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteImageRequest&, const DeleteImageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteImageAsyncHandler;
+			typedef Outcome<Error, Model::CreateFleetResult> CreateFleetOutcome;
+			typedef std::future<CreateFleetOutcome> CreateFleetOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateFleetRequest&, const CreateFleetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFleetAsyncHandler;
 			typedef Outcome<Error, Model::DescribeNetworkInterfacePermissionsResult> DescribeNetworkInterfacePermissionsOutcome;
 			typedef std::future<DescribeNetworkInterfacePermissionsOutcome> DescribeNetworkInterfacePermissionsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeNetworkInterfacePermissionsRequest&, const DescribeNetworkInterfacePermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNetworkInterfacePermissionsAsyncHandler;
@@ -1065,9 +1091,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyDiskChargeTypeResult> ModifyDiskChargeTypeOutcome;
 			typedef std::future<ModifyDiskChargeTypeOutcome> ModifyDiskChargeTypeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyDiskChargeTypeRequest&, const ModifyDiskChargeTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDiskChargeTypeAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFleetResult> DeleteFleetOutcome;
+			typedef std::future<DeleteFleetOutcome> DeleteFleetOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DeleteFleetRequest&, const DeleteFleetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFleetAsyncHandler;
 			typedef Outcome<Error, Model::DescribeBandwidthPackagesResult> DescribeBandwidthPackagesOutcome;
 			typedef std::future<DescribeBandwidthPackagesOutcome> DescribeBandwidthPackagesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeBandwidthPackagesRequest&, const DescribeBandwidthPackagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBandwidthPackagesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFleetHistoryResult> DescribeFleetHistoryOutcome;
+			typedef std::future<DescribeFleetHistoryOutcome> DescribeFleetHistoryOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeFleetHistoryRequest&, const DescribeFleetHistoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFleetHistoryAsyncHandler;
 			typedef Outcome<Error, Model::ApplyAutoSnapshotPolicyResult> ApplyAutoSnapshotPolicyOutcome;
 			typedef std::future<ApplyAutoSnapshotPolicyOutcome> ApplyAutoSnapshotPolicyOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ApplyAutoSnapshotPolicyRequest&, const ApplyAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyAutoSnapshotPolicyAsyncHandler;
@@ -1140,6 +1172,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ReleasePublicIpAddressResult> ReleasePublicIpAddressOutcome;
 			typedef std::future<ReleasePublicIpAddressOutcome> ReleasePublicIpAddressOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ReleasePublicIpAddressRequest&, const ReleasePublicIpAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleasePublicIpAddressAsyncHandler;
+			typedef Outcome<Error, Model::ReportInstancesStatusResult> ReportInstancesStatusOutcome;
+			typedef std::future<ReportInstancesStatusOutcome> ReportInstancesStatusOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ReportInstancesStatusRequest&, const ReportInstancesStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReportInstancesStatusAsyncHandler;
 			typedef Outcome<Error, Model::CreateVirtualBorderRouterResult> CreateVirtualBorderRouterOutcome;
 			typedef std::future<CreateVirtualBorderRouterOutcome> CreateVirtualBorderRouterOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateVirtualBorderRouterRequest&, const CreateVirtualBorderRouterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateVirtualBorderRouterAsyncHandler;
@@ -1493,6 +1528,9 @@ namespace AlibabaCloud
 			CreateRouteEntryOutcome createRouteEntry(const Model::CreateRouteEntryRequest &request)const;
 			void createRouteEntryAsync(const Model::CreateRouteEntryRequest& request, const CreateRouteEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRouteEntryOutcomeCallable createRouteEntryCallable(const Model::CreateRouteEntryRequest& request) const;
+			ModifyFleetOutcome modifyFleet(const Model::ModifyFleetRequest &request)const;
+			void modifyFleetAsync(const Model::ModifyFleetRequest& request, const ModifyFleetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyFleetOutcomeCallable modifyFleetCallable(const Model::ModifyFleetRequest& request) const;
 			AttachKeyPairOutcome attachKeyPair(const Model::AttachKeyPairRequest &request)const;
 			void attachKeyPairAsync(const Model::AttachKeyPairRequest& request, const AttachKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AttachKeyPairOutcomeCallable attachKeyPairCallable(const Model::AttachKeyPairRequest& request) const;
@@ -1529,6 +1567,9 @@ namespace AlibabaCloud
 			CreateVSwitchOutcome createVSwitch(const Model::CreateVSwitchRequest &request)const;
 			void createVSwitchAsync(const Model::CreateVSwitchRequest& request, const CreateVSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateVSwitchOutcomeCallable createVSwitchCallable(const Model::CreateVSwitchRequest& request) const;
+			DescribeFleetsOutcome describeFleets(const Model::DescribeFleetsRequest &request)const;
+			void describeFleetsAsync(const Model::DescribeFleetsRequest& request, const DescribeFleetsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFleetsOutcomeCallable describeFleetsCallable(const Model::DescribeFleetsRequest& request) const;
 			DescribeBandwidthLimitationOutcome describeBandwidthLimitation(const Model::DescribeBandwidthLimitationRequest &request)const;
 			void describeBandwidthLimitationAsync(const Model::DescribeBandwidthLimitationRequest& request, const DescribeBandwidthLimitationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBandwidthLimitationOutcomeCallable describeBandwidthLimitationCallable(const Model::DescribeBandwidthLimitationRequest& request) const;
@@ -1574,6 +1615,9 @@ namespace AlibabaCloud
 			DescribeDedicatedHostsOutcome describeDedicatedHosts(const Model::DescribeDedicatedHostsRequest &request)const;
 			void describeDedicatedHostsAsync(const Model::DescribeDedicatedHostsRequest& request, const DescribeDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDedicatedHostsOutcomeCallable describeDedicatedHostsCallable(const Model::DescribeDedicatedHostsRequest& request) const;
+			DescribeFleetInstancesOutcome describeFleetInstances(const Model::DescribeFleetInstancesRequest &request)const;
+			void describeFleetInstancesAsync(const Model::DescribeFleetInstancesRequest& request, const DescribeFleetInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFleetInstancesOutcomeCallable describeFleetInstancesCallable(const Model::DescribeFleetInstancesRequest& request) const;
 			ReleaseEipAddressOutcome releaseEipAddress(const Model::ReleaseEipAddressRequest &request)const;
 			void releaseEipAddressAsync(const Model::ReleaseEipAddressRequest& request, const ReleaseEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReleaseEipAddressOutcomeCallable releaseEipAddressCallable(const Model::ReleaseEipAddressRequest& request) const;
@@ -1679,6 +1723,9 @@ namespace AlibabaCloud
 			DeleteImageOutcome deleteImage(const Model::DeleteImageRequest &request)const;
 			void deleteImageAsync(const Model::DeleteImageRequest& request, const DeleteImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteImageOutcomeCallable deleteImageCallable(const Model::DeleteImageRequest& request) const;
+			CreateFleetOutcome createFleet(const Model::CreateFleetRequest &request)const;
+			void createFleetAsync(const Model::CreateFleetRequest& request, const CreateFleetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFleetOutcomeCallable createFleetCallable(const Model::CreateFleetRequest& request) const;
 			DescribeNetworkInterfacePermissionsOutcome describeNetworkInterfacePermissions(const Model::DescribeNetworkInterfacePermissionsRequest &request)const;
 			void describeNetworkInterfacePermissionsAsync(const Model::DescribeNetworkInterfacePermissionsRequest& request, const DescribeNetworkInterfacePermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeNetworkInterfacePermissionsOutcomeCallable describeNetworkInterfacePermissionsCallable(const Model::DescribeNetworkInterfacePermissionsRequest& request) const;
@@ -1829,9 +1876,15 @@ namespace AlibabaCloud
 			ModifyDiskChargeTypeOutcome modifyDiskChargeType(const Model::ModifyDiskChargeTypeRequest &request)const;
 			void modifyDiskChargeTypeAsync(const Model::ModifyDiskChargeTypeRequest& request, const ModifyDiskChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDiskChargeTypeOutcomeCallable modifyDiskChargeTypeCallable(const Model::ModifyDiskChargeTypeRequest& request) const;
+			DeleteFleetOutcome deleteFleet(const Model::DeleteFleetRequest &request)const;
+			void deleteFleetAsync(const Model::DeleteFleetRequest& request, const DeleteFleetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFleetOutcomeCallable deleteFleetCallable(const Model::DeleteFleetRequest& request) const;
 			DescribeBandwidthPackagesOutcome describeBandwidthPackages(const Model::DescribeBandwidthPackagesRequest &request)const;
 			void describeBandwidthPackagesAsync(const Model::DescribeBandwidthPackagesRequest& request, const DescribeBandwidthPackagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBandwidthPackagesOutcomeCallable describeBandwidthPackagesCallable(const Model::DescribeBandwidthPackagesRequest& request) const;
+			DescribeFleetHistoryOutcome describeFleetHistory(const Model::DescribeFleetHistoryRequest &request)const;
+			void describeFleetHistoryAsync(const Model::DescribeFleetHistoryRequest& request, const DescribeFleetHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFleetHistoryOutcomeCallable describeFleetHistoryCallable(const Model::DescribeFleetHistoryRequest& request) const;
 			ApplyAutoSnapshotPolicyOutcome applyAutoSnapshotPolicy(const Model::ApplyAutoSnapshotPolicyRequest &request)const;
 			void applyAutoSnapshotPolicyAsync(const Model::ApplyAutoSnapshotPolicyRequest& request, const ApplyAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ApplyAutoSnapshotPolicyOutcomeCallable applyAutoSnapshotPolicyCallable(const Model::ApplyAutoSnapshotPolicyRequest& request) const;
@@ -1904,6 +1957,9 @@ namespace AlibabaCloud
 			ReleasePublicIpAddressOutcome releasePublicIpAddress(const Model::ReleasePublicIpAddressRequest &request)const;
 			void releasePublicIpAddressAsync(const Model::ReleasePublicIpAddressRequest& request, const ReleasePublicIpAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReleasePublicIpAddressOutcomeCallable releasePublicIpAddressCallable(const Model::ReleasePublicIpAddressRequest& request) const;
+			ReportInstancesStatusOutcome reportInstancesStatus(const Model::ReportInstancesStatusRequest &request)const;
+			void reportInstancesStatusAsync(const Model::ReportInstancesStatusRequest& request, const ReportInstancesStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ReportInstancesStatusOutcomeCallable reportInstancesStatusCallable(const Model::ReportInstancesStatusRequest& request) const;
 			CreateVirtualBorderRouterOutcome createVirtualBorderRouter(const Model::CreateVirtualBorderRouterRequest &request)const;
 			void createVirtualBorderRouterAsync(const Model::CreateVirtualBorderRouterRequest& request, const CreateVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateVirtualBorderRouterOutcomeCallable createVirtualBorderRouterCallable(const Model::CreateVirtualBorderRouterRequest& request) const;

+ 185 - 0
ecs/include/alibabacloud/ecs/model/CreateFleetRequest.h

@@ -0,0 +1,185 @@
+/*
+ * 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_CREATEFLEETREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEFLEETREQUEST_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 CreateFleetRequest : public RpcServiceRequest
+			{
+				struct LaunchTemplateConfig
+				{
+					std::string instanceType;
+					Double maxPrice;
+					std::string vSwitchId;
+					Double weightedCapacity;
+					int priority;
+				};
+
+			public:
+				CreateFleetRequest();
+				~CreateFleetRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getFleetType()const;
+				void setFleetType(const std::string& fleetType);
+				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);
+				bool getTerminateInstancesWithExpiration()const;
+				void setTerminateInstancesWithExpiration(bool terminateInstancesWithExpiration);
+				std::string getOnDemandTargetCapacity()const;
+				void setOnDemandTargetCapacity(const std::string& onDemandTargetCapacity);
+				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 getFleetName()const;
+				void setFleetName(const std::string& fleetName);
+				std::string getSpotAllocationStrategy()const;
+				void setSpotAllocationStrategy(const std::string& spotAllocationStrategy);
+				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);
+				bool getTerminateInstances()const;
+				void setTerminateInstances(bool terminateInstances);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getDefaultTargetCapacityType()const;
+				void setDefaultTargetCapacityType(const std::string& defaultTargetCapacityType);
+				std::string getExcessCapacityTerminationPolicy()const;
+				void setExcessCapacityTerminationPolicy(const std::string& excessCapacityTerminationPolicy);
+				std::vector<LaunchTemplateConfig> getLaunchTemplateConfig()const;
+				void setLaunchTemplateConfig(const std::vector<LaunchTemplateConfig>& launchTemplateConfig);
+				std::string getValidUntil()const;
+				void setValidUntil(const std::string& validUntil);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getFillGapWithOnDemand()const;
+				void setFillGapWithOnDemand(const std::string& fillGapWithOnDemand);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getSpotInstanceInterruptionBehavior()const;
+				void setSpotInstanceInterruptionBehavior(const std::string& spotInstanceInterruptionBehavior);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				int getSpotInstancePoolsToUseCount()const;
+				void setSpotInstancePoolsToUseCount(int spotInstancePoolsToUseCount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getLaunchTemplateVersion()const;
+				void setLaunchTemplateVersion(const std::string& launchTemplateVersion);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getTotalTargetCapacity()const;
+				void setTotalTargetCapacity(const std::string& totalTargetCapacity);
+				std::string getOnDemandAllocationStrategy()const;
+				void setOnDemandAllocationStrategy(const std::string& onDemandAllocationStrategy);
+				std::string getSpotTargetCapacity()const;
+				void setSpotTargetCapacity(const std::string& spotTargetCapacity);
+				std::string getValidFrom()const;
+				void setValidFrom(const std::string& validFrom);
+				float getMaxSpotPrice()const;
+				void setMaxSpotPrice(float maxSpotPrice);
+
+            private:
+				long resourceOwnerId_;
+				std::string fleetType_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string proxy_original_source_ip_;
+				bool terminateInstancesWithExpiration_;
+				std::string onDemandTargetCapacity_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string fleetName_;
+				std::string spotAllocationStrategy_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				bool terminateInstances_;
+				std::string callerBidEmail_;
+				std::string defaultTargetCapacityType_;
+				std::string excessCapacityTerminationPolicy_;
+				std::vector<LaunchTemplateConfig> launchTemplateConfig_;
+				std::string validUntil_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string fillGapWithOnDemand_;
+				std::string app_ip_;
+				std::string spotInstanceInterruptionBehavior_;
+				std::string launchTemplateId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				int spotInstancePoolsToUseCount_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string launchTemplateVersion_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string totalTargetCapacity_;
+				std::string onDemandAllocationStrategy_;
+				std::string spotTargetCapacity_;
+				std::string validFrom_;
+				float maxSpotPrice_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEFLEETREQUEST_H_

+ 51 - 0
ecs/include/alibabacloud/ecs/model/CreateFleetResult.h

@@ -0,0 +1,51 @@
+/*
+ * 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_CREATEFLEETRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEFLEETRESULT_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 CreateFleetResult : public ServiceResult
+			{
+			public:
+
+
+				CreateFleetResult();
+				explicit CreateFleetResult(const std::string &payload);
+				~CreateFleetResult();
+				std::string getFleetId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string fleetId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEFLEETRESULT_H_

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

@@ -38,11 +38,13 @@ namespace AlibabaCloud
 				explicit CreateInstanceResult(const std::string &payload);
 				~CreateInstanceResult();
 				std::string getInstanceId()const;
+				float getTradePrice()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string instanceId_;
+				float tradePrice_;
 
 			};
 		}

+ 120 - 0
ecs/include/alibabacloud/ecs/model/DeleteFleetRequest.h

@@ -0,0 +1,120 @@
+/*
+ * 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_DELETEFLEETREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETEFLEETREQUEST_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 DeleteFleetRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteFleetRequest();
+				~DeleteFleetRequest();
+
+				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 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);
+				bool getTerminateInstances()const;
+				void setTerminateInstances(bool terminateInstances);
+				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);
+				std::string getFleetId()const;
+				void setFleetId(const std::string& fleetId);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				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_;
+				bool terminateInstances_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string fleetId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETEFLEETREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/DeleteFleetResult.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_DELETEFLEETRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETEFLEETRESULT_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 DeleteFleetResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFleetResult();
+				explicit DeleteFleetResult(const std::string &payload);
+				~DeleteFleetResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETEFLEETRESULT_H_

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

@@ -49,6 +49,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;
@@ -100,6 +102,7 @@ namespace AlibabaCloud
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				std::string sourceRegionId_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;

+ 117 - 0
ecs/include/alibabacloud/ecs/model/DescribeFleetHistoryRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETHISTORYREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETHISTORYREQUEST_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 DescribeFleetHistoryRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeFleetHistoryRequest();
+				~DescribeFleetHistoryRequest();
+
+				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 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);
+				std::string getFleetId()const;
+				void setFleetId(const std::string& fleetId);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				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_;
+				std::string fleetId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETHISTORYREQUEST_H_

+ 70 - 0
ecs/include/alibabacloud/ecs/model/DescribeFleetHistoryResult.h

@@ -0,0 +1,70 @@
+/*
+ * 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_DESCRIBEFLEETHISTORYRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETHISTORYRESULT_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 DescribeFleetHistoryResult : public ServiceResult
+			{
+			public:
+				struct FleetHistory
+				{
+					struct ActivityDetail
+					{
+						float status;
+						std::string detail;
+					};
+					std::string status;
+					std::vector<FleetHistory::ActivityDetail> activityDetails;
+					std::string taskId;
+					std::string startTime;
+					std::string lastEventTime;
+				};
+
+
+				DescribeFleetHistoryResult();
+				explicit DescribeFleetHistoryResult(const std::string &payload);
+				~DescribeFleetHistoryResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<FleetHistory> getFleetHistorys()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<FleetHistory> fleetHistorys_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETHISTORYRESULT_H_

+ 123 - 0
ecs/include/alibabacloud/ecs/model/DescribeFleetInstancesRequest.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_DESCRIBEFLEETINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETINSTANCESREQUEST_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 DescribeFleetInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeFleetInstancesRequest();
+				~DescribeFleetInstancesRequest();
+
+				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 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);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				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);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				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);
+				std::string getFleetId()const;
+				void setFleetId(const std::string& fleetId);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				int pageSize_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string fleetId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETINSTANCESREQUEST_H_

+ 73 - 0
ecs/include/alibabacloud/ecs/model/DescribeFleetInstancesResult.h

@@ -0,0 +1,73 @@
+/*
+ * 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_DESCRIBEFLEETINSTANCESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETINSTANCESRESULT_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 DescribeFleetInstancesResult : public ServiceResult
+			{
+			public:
+				struct Instance
+				{
+					std::string status;
+					bool isSpot;
+					bool ioOptimized;
+					std::string instanceId;
+					int memory;
+					std::string zoneNo;
+					int cores;
+					std::string izNo;
+					bool osType;
+					bool networkType;
+					std::string creationTime;
+					std::string regionId;
+					std::string instanceType;
+				};
+
+
+				DescribeFleetInstancesResult();
+				explicit DescribeFleetInstancesResult(const std::string &payload);
+				~DescribeFleetInstancesResult();
+				std::vector<Instance> getInstances()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Instance> instances_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETINSTANCESRESULT_H_

+ 129 - 0
ecs/include/alibabacloud/ecs/model/DescribeFleetsRequest.h

@@ -0,0 +1,129 @@
+/*
+ * 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_DESCRIBEFLEETSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETSREQUEST_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 DescribeFleetsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeFleetsRequest();
+				~DescribeFleetsRequest();
+
+				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 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);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getFleetName()const;
+				void setFleetName(const std::string& fleetName);
+				std::vector<std::string> getFleetStatus()const;
+				void setFleetStatus(const std::vector<std::string>& fleetStatus);
+				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);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				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);
+				std::vector<std::string> getFleetId()const;
+				void setFleetId(const std::vector<std::string>& fleetId);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string fleetName_;
+				std::vector<std::string> fleetStatus_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				int pageSize_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				std::vector<std::string> fleetId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETSREQUEST_H_

+ 105 - 0
ecs/include/alibabacloud/ecs/model/DescribeFleetsResult.h

@@ -0,0 +1,105 @@
+/*
+ * 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_DESCRIBEFLEETSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETSRESULT_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 DescribeFleetsResult : public ServiceResult
+			{
+			public:
+				struct Fleet
+				{
+					struct SpotOptions
+					{
+						std::string allocationStrategy;
+						std::string instanceInterruptionBehavior;
+						int instancePoolsToUseCount;
+					};
+					struct OnDemandOptions
+					{
+						std::string allocationStrategy;
+					};
+					struct TargetCapacitySpecification
+					{
+						std::string defaultTargetCapacityType;
+						float totalTargetCapacity;
+						float onDemandTargetCapacity;
+						float spotTargetCapacity;
+						bool fillGapWithOnDemand;
+					};
+					struct LaunchTemplateConfig
+					{
+						float weightedCapacity;
+						float priority;
+						std::string instanceType;
+						float maxPrice;
+						std::string vSWitchId;
+					};
+					std::string status;
+					TargetCapacitySpecification targetCapacitySpecification;
+					OnDemandOptions onDemandOptions;
+					std::string excessCapacityTerminationPolicy;
+					std::string fleetType;
+					SpotOptions spotOptions;
+					std::vector<Fleet::LaunchTemplateConfig> launchTemplateConfigs;
+					std::string launchTemplateId;
+					std::string validUntil;
+					bool terminateInstancesWithExpiration;
+					std::string fleetName;
+					std::string state;
+					std::string fleetId;
+					std::string launchTemplateVersion;
+					std::string creationTime;
+					std::string validFrom;
+					float maxSpotPrice;
+					std::string regionId;
+					bool terminateInstances;
+				};
+
+
+				DescribeFleetsResult();
+				explicit DescribeFleetsResult(const std::string &payload);
+				~DescribeFleetsResult();
+				std::vector<Fleet> getFleets()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Fleet> fleets_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEFLEETSRESULT_H_

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

@@ -40,6 +40,8 @@ namespace AlibabaCloud
 				DescribeImageSupportInstanceTypesRequest();
 				~DescribeImageSupportInstanceTypesRequest();
 
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getActionType()const;
 				void setActionType(const std::string& actionType);
 				std::vector<Filter> getFilter()const;
@@ -56,6 +58,7 @@ namespace AlibabaCloud
 				void setOwnerId(long ownerId);
 
             private:
+				std::string sourceRegionId_;
 				std::string actionType_;
 				std::vector<Filter> filter_;
 				long resourceOwnerId_;

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

@@ -53,6 +53,8 @@ namespace AlibabaCloud
 				void setPageNumber(int pageNumber);
 				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;
@@ -116,6 +118,7 @@ namespace AlibabaCloud
 				std::string callerType_;
 				int pageNumber_;
 				std::string accessKeyId_;
+				std::string sourceRegionId_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;

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

@@ -40,6 +40,8 @@ namespace AlibabaCloud
 				DescribeKeyPairsRequest();
 				~DescribeKeyPairsRequest();
 
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				long getResourceOwnerId()const;
@@ -62,6 +64,7 @@ namespace AlibabaCloud
 				void setPageNumber(int pageNumber);
 
             private:
+				std::string sourceRegionId_;
 				std::string resourceGroupId_;
 				long resourceOwnerId_;
 				std::string resourceOwnerAccount_;

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

@@ -35,6 +35,8 @@ namespace AlibabaCloud
 				DescribeRenewalPriceRequest();
 				~DescribeRenewalPriceRequest();
 
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getResourceId()const;
@@ -55,6 +57,7 @@ namespace AlibabaCloud
 				void setResourceType(const std::string& resourceType);
 
             private:
+				std::string sourceRegionId_;
 				long resourceOwnerId_;
 				std::string resourceId_;
 				int period_;

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

@@ -40,6 +40,8 @@ namespace AlibabaCloud
 				DescribeTagsRequest();
 				~DescribeTagsRequest();
 
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getResourceId()const;
@@ -54,12 +56,15 @@ namespace AlibabaCloud
 				void setTag(const std::vector<Tag>& tag);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				std::string getCategory()const;
+				void setCategory(const std::string& category);
 				std::string getResourceType()const;
 				void setResourceType(const std::string& resourceType);
 				int getPageNumber()const;
 				void setPageNumber(int pageNumber);
 
             private:
+				std::string sourceRegionId_;
 				long resourceOwnerId_;
 				std::string resourceId_;
 				std::string resourceOwnerAccount_;
@@ -67,6 +72,7 @@ namespace AlibabaCloud
 				int pageSize_;
 				std::vector<Tag> tag_;
 				long ownerId_;
+				std::string category_;
 				std::string resourceType_;
 				int pageNumber_;
 

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

@@ -35,6 +35,8 @@ namespace AlibabaCloud
 				DescribeTaskAttributeRequest();
 				~DescribeTaskAttributeRequest();
 
+				std::string getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getResourceOwnerAccount()const;
@@ -47,6 +49,7 @@ namespace AlibabaCloud
 				void setTaskId(const std::string& taskId);
 
             private:
+				std::string sourceRegionId_;
 				long resourceOwnerId_;
 				std::string resourceOwnerAccount_;
 				std::string regionId_;

+ 138 - 0
ecs/include/alibabacloud/ecs/model/ModifyFleetRequest.h

@@ -0,0 +1,138 @@
+/*
+ * 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_MODIFYFLEETREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYFLEETREQUEST_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 ModifyFleetRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyFleetRequest();
+				~ModifyFleetRequest();
+
+				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 getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				bool getTerminateInstancesWithExpiration()const;
+				void setTerminateInstancesWithExpiration(bool terminateInstancesWithExpiration);
+				std::string getOnDemandTargetCapacity()const;
+				void setOnDemandTargetCapacity(const std::string& onDemandTargetCapacity);
+				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 getDefaultTargetCapacityType()const;
+				void setDefaultTargetCapacityType(const std::string& defaultTargetCapacityType);
+				std::string getExcessCapacityTerminationPolicy()const;
+				void setExcessCapacityTerminationPolicy(const std::string& excessCapacityTerminationPolicy);
+				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);
+				std::string getFleetId()const;
+				void setFleetId(const std::string& fleetId);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getTotalTargetCapacity()const;
+				void setTotalTargetCapacity(const std::string& totalTargetCapacity);
+				std::string getSpotTargetCapacity()const;
+				void setSpotTargetCapacity(const std::string& spotTargetCapacity);
+				float getMaxSpotPrice()const;
+				void setMaxSpotPrice(float maxSpotPrice);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				bool terminateInstancesWithExpiration_;
+				std::string onDemandTargetCapacity_;
+				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 defaultTargetCapacityType_;
+				std::string excessCapacityTerminationPolicy_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string fleetId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string totalTargetCapacity_;
+				std::string spotTargetCapacity_;
+				float maxSpotPrice_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYFLEETREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyFleetResult.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_MODIFYFLEETRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYFLEETRESULT_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 ModifyFleetResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyFleetResult();
+				explicit ModifyFleetResult(const std::string &payload);
+				~ModifyFleetResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYFLEETRESULT_H_

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

@@ -45,12 +45,16 @@ namespace AlibabaCloud
 				void setClientToken(const std::string& clientToken);
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				std::string getOperatorType()const;
 				void setOperatorType(const std::string& operatorType);
 				std::string getSystemDiskCategory()const;
 				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getRebootTime()const;
+				void setRebootTime(const std::string& rebootTime);
 				std::string getSourceRegionId()const;
 				void setSourceRegionId(const std::string& sourceRegionId);
 				std::string getInstanceId()const;
@@ -68,9 +72,11 @@ namespace AlibabaCloud
 				std::string resourceOwnerAccount_;
 				std::string clientToken_;
 				std::string ownerAccount_;
+				std::string endTime_;
 				long ownerId_;
 				std::string operatorType_;
 				std::string systemDiskCategory_;
+				std::string rebootTime_;
 				std::string sourceRegionId_;
 				std::string instanceId_;
 				std::string regionId_;

+ 141 - 0
ecs/include/alibabacloud/ecs/model/ReportInstancesStatusRequest.h

@@ -0,0 +1,141 @@
+/*
+ * 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_REPORTINSTANCESSTATUSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_REPORTINSTANCESSTATUSREQUEST_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 ReportInstancesStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				ReportInstancesStatusRequest();
+				~ReportInstancesStatusRequest();
+
+				std::string getReason()const;
+				void setReason(const std::string& reason);
+				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 getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				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 getSourceRegionId()const;
+				void setSourceRegionId(const std::string& sourceRegionId);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				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::vector<std::string> getDiskId()const;
+				void setDiskId(const std::vector<std::string>& diskId);
+				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 getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				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::vector<std::string> getInstanceId()const;
+				void setInstanceId(const std::vector<std::string>& instanceId);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::vector<std::string> getDevice()const;
+				void setDevice(const std::vector<std::string>& device);
+
+            private:
+				std::string reason_;
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string sourceRegionId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::vector<std::string> diskId_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::vector<std::string> instanceId_;
+				std::string requestId_;
+				std::vector<std::string> device_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_REPORTINSTANCESSTATUSREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ReportInstancesStatusResult.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_REPORTINSTANCESSTATUSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_REPORTINSTANCESSTATUSRESULT_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 ReportInstancesStatusResult : public ServiceResult
+			{
+			public:
+
+
+				ReportInstancesStatusResult();
+				explicit ReportInstancesStatusResult(const std::string &payload);
+				~ReportInstancesStatusResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_REPORTINSTANCESSTATUSRESULT_H_

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

@@ -38,11 +38,13 @@ namespace AlibabaCloud
 				explicit RunInstancesResult(const std::string &payload);
 				~RunInstancesResult();
 				std::vector<std::string> getInstanceIdSets()const;
+				float getTradePrice()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::vector<std::string> instanceIdSets_;
+				float tradePrice_;
 
 			};
 		}

+ 252 - 0
ecs/src/EcsClient.cc

@@ -2355,6 +2355,42 @@ EcsClient::CreateRouteEntryOutcomeCallable EcsClient::createRouteEntryCallable(c
 	return task->get_future();
 }
 
+EcsClient::ModifyFleetOutcome EcsClient::modifyFleet(const ModifyFleetRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyFleetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyFleetOutcome(ModifyFleetResult(outcome.result()));
+	else
+		return ModifyFleetOutcome(outcome.error());
+}
+
+void EcsClient::modifyFleetAsync(const ModifyFleetRequest& request, const ModifyFleetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyFleet(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyFleetOutcomeCallable EcsClient::modifyFleetCallable(const ModifyFleetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyFleetOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyFleet(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::AttachKeyPairOutcome EcsClient::attachKeyPair(const AttachKeyPairRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2787,6 +2823,42 @@ EcsClient::CreateVSwitchOutcomeCallable EcsClient::createVSwitchCallable(const C
 	return task->get_future();
 }
 
+EcsClient::DescribeFleetsOutcome EcsClient::describeFleets(const DescribeFleetsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFleetsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFleetsOutcome(DescribeFleetsResult(outcome.result()));
+	else
+		return DescribeFleetsOutcome(outcome.error());
+}
+
+void EcsClient::describeFleetsAsync(const DescribeFleetsRequest& request, const DescribeFleetsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFleets(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeFleetsOutcomeCallable EcsClient::describeFleetsCallable(const DescribeFleetsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFleetsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFleets(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeBandwidthLimitationOutcome EcsClient::describeBandwidthLimitation(const DescribeBandwidthLimitationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3327,6 +3399,42 @@ EcsClient::DescribeDedicatedHostsOutcomeCallable EcsClient::describeDedicatedHos
 	return task->get_future();
 }
 
+EcsClient::DescribeFleetInstancesOutcome EcsClient::describeFleetInstances(const DescribeFleetInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFleetInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFleetInstancesOutcome(DescribeFleetInstancesResult(outcome.result()));
+	else
+		return DescribeFleetInstancesOutcome(outcome.error());
+}
+
+void EcsClient::describeFleetInstancesAsync(const DescribeFleetInstancesRequest& request, const DescribeFleetInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFleetInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeFleetInstancesOutcomeCallable EcsClient::describeFleetInstancesCallable(const DescribeFleetInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFleetInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFleetInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ReleaseEipAddressOutcome EcsClient::releaseEipAddress(const ReleaseEipAddressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4587,6 +4695,42 @@ EcsClient::DeleteImageOutcomeCallable EcsClient::deleteImageCallable(const Delet
 	return task->get_future();
 }
 
+EcsClient::CreateFleetOutcome EcsClient::createFleet(const CreateFleetRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateFleetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateFleetOutcome(CreateFleetResult(outcome.result()));
+	else
+		return CreateFleetOutcome(outcome.error());
+}
+
+void EcsClient::createFleetAsync(const CreateFleetRequest& request, const CreateFleetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createFleet(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::CreateFleetOutcomeCallable EcsClient::createFleetCallable(const CreateFleetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateFleetOutcome()>>(
+			[this, request]()
+			{
+			return this->createFleet(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeNetworkInterfacePermissionsOutcome EcsClient::describeNetworkInterfacePermissions(const DescribeNetworkInterfacePermissionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6387,6 +6531,42 @@ EcsClient::ModifyDiskChargeTypeOutcomeCallable EcsClient::modifyDiskChargeTypeCa
 	return task->get_future();
 }
 
+EcsClient::DeleteFleetOutcome EcsClient::deleteFleet(const DeleteFleetRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteFleetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteFleetOutcome(DeleteFleetResult(outcome.result()));
+	else
+		return DeleteFleetOutcome(outcome.error());
+}
+
+void EcsClient::deleteFleetAsync(const DeleteFleetRequest& request, const DeleteFleetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteFleet(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DeleteFleetOutcomeCallable EcsClient::deleteFleetCallable(const DeleteFleetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteFleetOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteFleet(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeBandwidthPackagesOutcome EcsClient::describeBandwidthPackages(const DescribeBandwidthPackagesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6423,6 +6603,42 @@ EcsClient::DescribeBandwidthPackagesOutcomeCallable EcsClient::describeBandwidth
 	return task->get_future();
 }
 
+EcsClient::DescribeFleetHistoryOutcome EcsClient::describeFleetHistory(const DescribeFleetHistoryRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFleetHistoryOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFleetHistoryOutcome(DescribeFleetHistoryResult(outcome.result()));
+	else
+		return DescribeFleetHistoryOutcome(outcome.error());
+}
+
+void EcsClient::describeFleetHistoryAsync(const DescribeFleetHistoryRequest& request, const DescribeFleetHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFleetHistory(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeFleetHistoryOutcomeCallable EcsClient::describeFleetHistoryCallable(const DescribeFleetHistoryRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFleetHistoryOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFleetHistory(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ApplyAutoSnapshotPolicyOutcome EcsClient::applyAutoSnapshotPolicy(const ApplyAutoSnapshotPolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7287,6 +7503,42 @@ EcsClient::ReleasePublicIpAddressOutcomeCallable EcsClient::releasePublicIpAddre
 	return task->get_future();
 }
 
+EcsClient::ReportInstancesStatusOutcome EcsClient::reportInstancesStatus(const ReportInstancesStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReportInstancesStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReportInstancesStatusOutcome(ReportInstancesStatusResult(outcome.result()));
+	else
+		return ReportInstancesStatusOutcome(outcome.error());
+}
+
+void EcsClient::reportInstancesStatusAsync(const ReportInstancesStatusRequest& request, const ReportInstancesStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, reportInstancesStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ReportInstancesStatusOutcomeCallable EcsClient::reportInstancesStatusCallable(const ReportInstancesStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReportInstancesStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->reportInstancesStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CreateVirtualBorderRouterOutcome EcsClient::createVirtualBorderRouter(const CreateVirtualBorderRouterRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 520 - 0
ecs/src/model/CreateFleetRequest.cc

@@ -0,0 +1,520 @@
+/*
+ * 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/CreateFleetRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateFleetRequest;
+
+CreateFleetRequest::CreateFleetRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "CreateFleet")
+{}
+
+CreateFleetRequest::~CreateFleetRequest()
+{}
+
+long CreateFleetRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateFleetRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string CreateFleetRequest::getFleetType()const
+{
+	return fleetType_;
+}
+
+void CreateFleetRequest::setFleetType(const std::string& fleetType)
+{
+	fleetType_ = fleetType;
+	setCoreParameter("FleetType", fleetType);
+}
+
+long CreateFleetRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void CreateFleetRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool CreateFleetRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void CreateFleetRequest::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 CreateFleetRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateFleetRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setCoreParameter("Description", description);
+}
+
+std::string CreateFleetRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void CreateFleetRequest::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);
+}
+
+bool CreateFleetRequest::getTerminateInstancesWithExpiration()const
+{
+	return terminateInstancesWithExpiration_;
+}
+
+void CreateFleetRequest::setTerminateInstancesWithExpiration(bool terminateInstancesWithExpiration)
+{
+	terminateInstancesWithExpiration_ = terminateInstancesWithExpiration;
+	setCoreParameter("TerminateInstancesWithExpiration", terminateInstancesWithExpiration ? "true" : "false");
+}
+
+std::string CreateFleetRequest::getOnDemandTargetCapacity()const
+{
+	return onDemandTargetCapacity_;
+}
+
+void CreateFleetRequest::setOnDemandTargetCapacity(const std::string& onDemandTargetCapacity)
+{
+	onDemandTargetCapacity_ = onDemandTargetCapacity;
+	setCoreParameter("OnDemandTargetCapacity", onDemandTargetCapacity);
+}
+
+std::string CreateFleetRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void CreateFleetRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string CreateFleetRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void CreateFleetRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string CreateFleetRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateFleetRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateFleetRequest::getFleetName()const
+{
+	return fleetName_;
+}
+
+void CreateFleetRequest::setFleetName(const std::string& fleetName)
+{
+	fleetName_ = fleetName;
+	setCoreParameter("FleetName", fleetName);
+}
+
+std::string CreateFleetRequest::getSpotAllocationStrategy()const
+{
+	return spotAllocationStrategy_;
+}
+
+void CreateFleetRequest::setSpotAllocationStrategy(const std::string& spotAllocationStrategy)
+{
+	spotAllocationStrategy_ = spotAllocationStrategy;
+	setCoreParameter("SpotAllocationStrategy", spotAllocationStrategy);
+}
+
+std::string CreateFleetRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void CreateFleetRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string CreateFleetRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateFleetRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool CreateFleetRequest::getEnable()const
+{
+	return enable_;
+}
+
+void CreateFleetRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string CreateFleetRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void CreateFleetRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+bool CreateFleetRequest::getTerminateInstances()const
+{
+	return terminateInstances_;
+}
+
+void CreateFleetRequest::setTerminateInstances(bool terminateInstances)
+{
+	terminateInstances_ = terminateInstances;
+	setCoreParameter("TerminateInstances", terminateInstances ? "true" : "false");
+}
+
+std::string CreateFleetRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void CreateFleetRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string CreateFleetRequest::getDefaultTargetCapacityType()const
+{
+	return defaultTargetCapacityType_;
+}
+
+void CreateFleetRequest::setDefaultTargetCapacityType(const std::string& defaultTargetCapacityType)
+{
+	defaultTargetCapacityType_ = defaultTargetCapacityType;
+	setCoreParameter("DefaultTargetCapacityType", defaultTargetCapacityType);
+}
+
+std::string CreateFleetRequest::getExcessCapacityTerminationPolicy()const
+{
+	return excessCapacityTerminationPolicy_;
+}
+
+void CreateFleetRequest::setExcessCapacityTerminationPolicy(const std::string& excessCapacityTerminationPolicy)
+{
+	excessCapacityTerminationPolicy_ = excessCapacityTerminationPolicy;
+	setCoreParameter("ExcessCapacityTerminationPolicy", excessCapacityTerminationPolicy);
+}
+
+std::vector<CreateFleetRequest::LaunchTemplateConfig> CreateFleetRequest::getLaunchTemplateConfig()const
+{
+	return launchTemplateConfig_;
+}
+
+void CreateFleetRequest::setLaunchTemplateConfig(const std::vector<LaunchTemplateConfig>& launchTemplateConfig)
+{
+	launchTemplateConfig_ = launchTemplateConfig;
+	int i = 0;
+	for(int i = 0; i!= launchTemplateConfig.size(); i++)	{
+		auto obj = launchTemplateConfig.at(i);
+		std::string str ="LaunchTemplateConfig."+ std::to_string(i);
+		setCoreParameter(str + ".InstanceType", obj.instanceType);
+		setCoreParameter(str + ".MaxPrice", std::to_string(obj.maxPrice));
+		setCoreParameter(str + ".VSwitchId", obj.vSwitchId);
+		setCoreParameter(str + ".WeightedCapacity", std::to_string(obj.weightedCapacity));
+		setCoreParameter(str + ".Priority", std::to_string(obj.priority));
+	}
+}
+
+std::string CreateFleetRequest::getValidUntil()const
+{
+	return validUntil_;
+}
+
+void CreateFleetRequest::setValidUntil(const std::string& validUntil)
+{
+	validUntil_ = validUntil;
+	setCoreParameter("ValidUntil", validUntil);
+}
+
+std::string CreateFleetRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void CreateFleetRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long CreateFleetRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void CreateFleetRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string CreateFleetRequest::getFillGapWithOnDemand()const
+{
+	return fillGapWithOnDemand_;
+}
+
+void CreateFleetRequest::setFillGapWithOnDemand(const std::string& fillGapWithOnDemand)
+{
+	fillGapWithOnDemand_ = fillGapWithOnDemand;
+	setCoreParameter("FillGapWithOnDemand", fillGapWithOnDemand);
+}
+
+std::string CreateFleetRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void CreateFleetRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string CreateFleetRequest::getSpotInstanceInterruptionBehavior()const
+{
+	return spotInstanceInterruptionBehavior_;
+}
+
+void CreateFleetRequest::setSpotInstanceInterruptionBehavior(const std::string& spotInstanceInterruptionBehavior)
+{
+	spotInstanceInterruptionBehavior_ = spotInstanceInterruptionBehavior;
+	setCoreParameter("SpotInstanceInterruptionBehavior", spotInstanceInterruptionBehavior);
+}
+
+std::string CreateFleetRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void CreateFleetRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setCoreParameter("LaunchTemplateId", launchTemplateId);
+}
+
+std::string CreateFleetRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateFleetRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateFleetRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateFleetRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+int CreateFleetRequest::getSpotInstancePoolsToUseCount()const
+{
+	return spotInstancePoolsToUseCount_;
+}
+
+void CreateFleetRequest::setSpotInstancePoolsToUseCount(int spotInstancePoolsToUseCount)
+{
+	spotInstancePoolsToUseCount_ = spotInstancePoolsToUseCount;
+	setCoreParameter("SpotInstancePoolsToUseCount", std::to_string(spotInstancePoolsToUseCount));
+}
+
+std::string CreateFleetRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void CreateFleetRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long CreateFleetRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateFleetRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string CreateFleetRequest::getLaunchTemplateVersion()const
+{
+	return launchTemplateVersion_;
+}
+
+void CreateFleetRequest::setLaunchTemplateVersion(const std::string& launchTemplateVersion)
+{
+	launchTemplateVersion_ = launchTemplateVersion;
+	setCoreParameter("LaunchTemplateVersion", launchTemplateVersion);
+}
+
+bool CreateFleetRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void CreateFleetRequest::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 CreateFleetRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void CreateFleetRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool CreateFleetRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void CreateFleetRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string CreateFleetRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void CreateFleetRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string CreateFleetRequest::getTotalTargetCapacity()const
+{
+	return totalTargetCapacity_;
+}
+
+void CreateFleetRequest::setTotalTargetCapacity(const std::string& totalTargetCapacity)
+{
+	totalTargetCapacity_ = totalTargetCapacity;
+	setCoreParameter("TotalTargetCapacity", totalTargetCapacity);
+}
+
+std::string CreateFleetRequest::getOnDemandAllocationStrategy()const
+{
+	return onDemandAllocationStrategy_;
+}
+
+void CreateFleetRequest::setOnDemandAllocationStrategy(const std::string& onDemandAllocationStrategy)
+{
+	onDemandAllocationStrategy_ = onDemandAllocationStrategy;
+	setCoreParameter("OnDemandAllocationStrategy", onDemandAllocationStrategy);
+}
+
+std::string CreateFleetRequest::getSpotTargetCapacity()const
+{
+	return spotTargetCapacity_;
+}
+
+void CreateFleetRequest::setSpotTargetCapacity(const std::string& spotTargetCapacity)
+{
+	spotTargetCapacity_ = spotTargetCapacity;
+	setCoreParameter("SpotTargetCapacity", spotTargetCapacity);
+}
+
+std::string CreateFleetRequest::getValidFrom()const
+{
+	return validFrom_;
+}
+
+void CreateFleetRequest::setValidFrom(const std::string& validFrom)
+{
+	validFrom_ = validFrom;
+	setCoreParameter("ValidFrom", validFrom);
+}
+
+float CreateFleetRequest::getMaxSpotPrice()const
+{
+	return maxSpotPrice_;
+}
+
+void CreateFleetRequest::setMaxSpotPrice(float maxSpotPrice)
+{
+	maxSpotPrice_ = maxSpotPrice;
+	setCoreParameter("MaxSpotPrice", std::to_string(maxSpotPrice));
+}
+

+ 52 - 0
ecs/src/model/CreateFleetResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/CreateFleetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+CreateFleetResult::CreateFleetResult() :
+	ServiceResult()
+{}
+
+CreateFleetResult::CreateFleetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateFleetResult::~CreateFleetResult()
+{}
+
+void CreateFleetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["FleetId"].isNull())
+		fleetId_ = value["FleetId"].asString();
+
+}
+
+std::string CreateFleetResult::getFleetId()const
+{
+	return fleetId_;
+}
+

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

@@ -42,6 +42,8 @@ void CreateInstanceResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["InstanceId"].isNull())
 		instanceId_ = value["InstanceId"].asString();
+	if(!value["TradePrice"].isNull())
+		tradePrice_ = std::stof(value["TradePrice"].asString());
 
 }
 
@@ -50,3 +52,8 @@ std::string CreateInstanceResult::getInstanceId()const
 	return instanceId_;
 }
 
+float CreateInstanceResult::getTradePrice()const
+{
+	return tradePrice_;
+}
+

+ 302 - 0
ecs/src/model/DeleteFleetRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * 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/DeleteFleetRequest.h>
+
+using AlibabaCloud::Ecs::Model::DeleteFleetRequest;
+
+DeleteFleetRequest::DeleteFleetRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DeleteFleet")
+{}
+
+DeleteFleetRequest::~DeleteFleetRequest()
+{}
+
+long DeleteFleetRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteFleetRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DeleteFleetRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DeleteFleetRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DeleteFleetRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DeleteFleetRequest::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 DeleteFleetRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DeleteFleetRequest::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 DeleteFleetRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DeleteFleetRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DeleteFleetRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DeleteFleetRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string DeleteFleetRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteFleetRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DeleteFleetRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteFleetRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DeleteFleetRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DeleteFleetRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool DeleteFleetRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DeleteFleetRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string DeleteFleetRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DeleteFleetRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+bool DeleteFleetRequest::getTerminateInstances()const
+{
+	return terminateInstances_;
+}
+
+void DeleteFleetRequest::setTerminateInstances(bool terminateInstances)
+{
+	terminateInstances_ = terminateInstances;
+	setCoreParameter("TerminateInstances", terminateInstances ? "true" : "false");
+}
+
+std::string DeleteFleetRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DeleteFleetRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DeleteFleetRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DeleteFleetRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DeleteFleetRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DeleteFleetRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DeleteFleetRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DeleteFleetRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DeleteFleetRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteFleetRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DeleteFleetRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteFleetRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DeleteFleetRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DeleteFleetRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DeleteFleetRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteFleetRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteFleetRequest::getFleetId()const
+{
+	return fleetId_;
+}
+
+void DeleteFleetRequest::setFleetId(const std::string& fleetId)
+{
+	fleetId_ = fleetId;
+	setCoreParameter("FleetId", fleetId);
+}
+
+bool DeleteFleetRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DeleteFleetRequest::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 DeleteFleetRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DeleteFleetRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DeleteFleetRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DeleteFleetRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DeleteFleetRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DeleteFleetRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+

+ 45 - 0
ecs/src/model/DeleteFleetResult.cc

@@ -0,0 +1,45 @@
+/*
+ * 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/DeleteFleetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DeleteFleetResult::DeleteFleetResult() :
+	ServiceResult()
+{}
+
+DeleteFleetResult::DeleteFleetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteFleetResult::~DeleteFleetResult()
+{}
+
+void DeleteFleetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

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

@@ -102,6 +102,17 @@ void DescribeBandwidthLimitationRequest::setAccessKeyId(const std::string& acces
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string DescribeBandwidthLimitationRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeBandwidthLimitationRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string DescribeBandwidthLimitationRequest::getSecurityToken()const
 {
 	return securityToken_;

+ 291 - 0
ecs/src/model/DescribeFleetHistoryRequest.cc

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

+ 95 - 0
ecs/src/model/DescribeFleetHistoryResult.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/DescribeFleetHistoryResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeFleetHistoryResult::DescribeFleetHistoryResult() :
+	ServiceResult()
+{}
+
+DescribeFleetHistoryResult::DescribeFleetHistoryResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFleetHistoryResult::~DescribeFleetHistoryResult()
+{}
+
+void DescribeFleetHistoryResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allFleetHistorys = value["FleetHistorys"]["FleetHistory"];
+	for (auto value : allFleetHistorys)
+	{
+		FleetHistory fleetHistorysObject;
+		if(!value["TaskId"].isNull())
+			fleetHistorysObject.taskId = value["TaskId"].asString();
+		if(!value["Status"].isNull())
+			fleetHistorysObject.status = value["Status"].asString();
+		if(!value["LastEventTime"].isNull())
+			fleetHistorysObject.lastEventTime = value["LastEventTime"].asString();
+		if(!value["StartTime"].isNull())
+			fleetHistorysObject.startTime = value["StartTime"].asString();
+		auto allActivityDetails = value["ActivityDetails"]["ActivityDetail"];
+		for (auto value : allActivityDetails)
+		{
+			FleetHistory::ActivityDetail activityDetailsObject;
+			if(!value["Detail"].isNull())
+				activityDetailsObject.detail = value["Detail"].asString();
+			if(!value["Status"].isNull())
+				activityDetailsObject.status = std::stof(value["Status"].asString());
+			fleetHistorysObject.activityDetails.push_back(activityDetailsObject);
+		}
+		fleetHistorys_.push_back(fleetHistorysObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+int DescribeFleetHistoryResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeFleetHistoryResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeFleetHistoryResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeFleetHistoryResult::FleetHistory> DescribeFleetHistoryResult::getFleetHistorys()const
+{
+	return fleetHistorys_;
+}
+

+ 313 - 0
ecs/src/model/DescribeFleetInstancesRequest.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/DescribeFleetInstancesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeFleetInstancesRequest;
+
+DescribeFleetInstancesRequest::DescribeFleetInstancesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeFleetInstances")
+{}
+
+DescribeFleetInstancesRequest::~DescribeFleetInstancesRequest()
+{}
+
+long DescribeFleetInstancesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeFleetInstancesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeFleetInstancesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeFleetInstancesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeFleetInstancesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeFleetInstancesRequest::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 DescribeFleetInstancesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeFleetInstancesRequest::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 DescribeFleetInstancesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeFleetInstancesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeFleetInstancesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeFleetInstancesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+int DescribeFleetInstancesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeFleetInstancesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setCoreParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeFleetInstancesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeFleetInstancesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeFleetInstancesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeFleetInstancesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeFleetInstancesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeFleetInstancesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool DescribeFleetInstancesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeFleetInstancesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string DescribeFleetInstancesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeFleetInstancesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+int DescribeFleetInstancesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeFleetInstancesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeFleetInstancesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeFleetInstancesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeFleetInstancesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeFleetInstancesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeFleetInstancesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeFleetInstancesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeFleetInstancesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeFleetInstancesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeFleetInstancesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeFleetInstancesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeFleetInstancesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeFleetInstancesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeFleetInstancesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeFleetInstancesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeFleetInstancesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeFleetInstancesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeFleetInstancesRequest::getFleetId()const
+{
+	return fleetId_;
+}
+
+void DescribeFleetInstancesRequest::setFleetId(const std::string& fleetId)
+{
+	fleetId_ = fleetId;
+	setCoreParameter("FleetId", fleetId);
+}
+
+bool DescribeFleetInstancesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeFleetInstancesRequest::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 DescribeFleetInstancesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeFleetInstancesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeFleetInstancesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeFleetInstancesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DescribeFleetInstancesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeFleetInstancesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+

+ 103 - 0
ecs/src/model/DescribeFleetInstancesResult.cc

@@ -0,0 +1,103 @@
+/*
+ * 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/DescribeFleetInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeFleetInstancesResult::DescribeFleetInstancesResult() :
+	ServiceResult()
+{}
+
+DescribeFleetInstancesResult::DescribeFleetInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFleetInstancesResult::~DescribeFleetInstancesResult()
+{}
+
+void DescribeFleetInstancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allInstances = value["Instances"]["Instance"];
+	for (auto value : allInstances)
+	{
+		Instance instancesObject;
+		if(!value["InstanceId"].isNull())
+			instancesObject.instanceId = value["InstanceId"].asString();
+		if(!value["Status"].isNull())
+			instancesObject.status = value["Status"].asString();
+		if(!value["RegionId"].isNull())
+			instancesObject.regionId = value["RegionId"].asString();
+		if(!value["IzNo"].isNull())
+			instancesObject.izNo = value["IzNo"].asString();
+		if(!value["ZoneNo"].isNull())
+			instancesObject.zoneNo = value["ZoneNo"].asString();
+		if(!value["Cores"].isNull())
+			instancesObject.cores = std::stoi(value["Cores"].asString());
+		if(!value["Memory"].isNull())
+			instancesObject.memory = std::stoi(value["Memory"].asString());
+		if(!value["InstanceType"].isNull())
+			instancesObject.instanceType = value["InstanceType"].asString();
+		if(!value["IsSpot"].isNull())
+			instancesObject.isSpot = value["IsSpot"].asString() == "true";
+		if(!value["IoOptimized"].isNull())
+			instancesObject.ioOptimized = value["IoOptimized"].asString() == "true";
+		if(!value["NetworkType"].isNull())
+			instancesObject.networkType = value["NetworkType"].asString() == "true";
+		if(!value["OsType"].isNull())
+			instancesObject.osType = value["OsType"].asString() == "true";
+		if(!value["CreationTime"].isNull())
+			instancesObject.creationTime = value["CreationTime"].asString();
+		instances_.push_back(instancesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<DescribeFleetInstancesResult::Instance> DescribeFleetInstancesResult::getInstances()const
+{
+	return instances_;
+}
+
+int DescribeFleetInstancesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeFleetInstancesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeFleetInstancesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 337 - 0
ecs/src/model/DescribeFleetsRequest.cc

@@ -0,0 +1,337 @@
+/*
+ * 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/DescribeFleetsRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeFleetsRequest;
+
+DescribeFleetsRequest::DescribeFleetsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeFleets")
+{}
+
+DescribeFleetsRequest::~DescribeFleetsRequest()
+{}
+
+long DescribeFleetsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeFleetsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeFleetsRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeFleetsRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeFleetsRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeFleetsRequest::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 DescribeFleetsRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeFleetsRequest::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 DescribeFleetsRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeFleetsRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeFleetsRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeFleetsRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+int DescribeFleetsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeFleetsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setCoreParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeFleetsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeFleetsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeFleetsRequest::getFleetName()const
+{
+	return fleetName_;
+}
+
+void DescribeFleetsRequest::setFleetName(const std::string& fleetName)
+{
+	fleetName_ = fleetName;
+	setCoreParameter("FleetName", fleetName);
+}
+
+std::vector<std::string> DescribeFleetsRequest::getFleetStatus()const
+{
+	return fleetStatus_;
+}
+
+void DescribeFleetsRequest::setFleetStatus(const std::vector<std::string>& fleetStatus)
+{
+	fleetStatus_ = fleetStatus;
+	for(int i = 0; i!= fleetStatus.size(); i++)
+		setCoreParameter("FleetStatus."+ std::to_string(i), fleetStatus.at(i));
+}
+
+std::string DescribeFleetsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeFleetsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeFleetsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeFleetsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool DescribeFleetsRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeFleetsRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string DescribeFleetsRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeFleetsRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+int DescribeFleetsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeFleetsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeFleetsRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeFleetsRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeFleetsRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeFleetsRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeFleetsRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeFleetsRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeFleetsRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeFleetsRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeFleetsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeFleetsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeFleetsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeFleetsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeFleetsRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeFleetsRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeFleetsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeFleetsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<std::string> DescribeFleetsRequest::getFleetId()const
+{
+	return fleetId_;
+}
+
+void DescribeFleetsRequest::setFleetId(const std::vector<std::string>& fleetId)
+{
+	fleetId_ = fleetId;
+	for(int i = 0; i!= fleetId.size(); i++)
+		setCoreParameter("FleetId."+ std::to_string(i), fleetId.at(i));
+}
+
+bool DescribeFleetsRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeFleetsRequest::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 DescribeFleetsRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeFleetsRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeFleetsRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeFleetsRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DescribeFleetsRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeFleetsRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+

+ 144 - 0
ecs/src/model/DescribeFleetsResult.cc

@@ -0,0 +1,144 @@
+/*
+ * 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/DescribeFleetsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeFleetsResult::DescribeFleetsResult() :
+	ServiceResult()
+{}
+
+DescribeFleetsResult::DescribeFleetsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFleetsResult::~DescribeFleetsResult()
+{}
+
+void DescribeFleetsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allFleets = value["Fleets"]["Fleet"];
+	for (auto value : allFleets)
+	{
+		Fleet fleetsObject;
+		if(!value["FleetId"].isNull())
+			fleetsObject.fleetId = value["FleetId"].asString();
+		if(!value["FleetName"].isNull())
+			fleetsObject.fleetName = value["FleetName"].asString();
+		if(!value["FleetType"].isNull())
+			fleetsObject.fleetType = value["FleetType"].asString();
+		if(!value["Status"].isNull())
+			fleetsObject.status = value["Status"].asString();
+		if(!value["State"].isNull())
+			fleetsObject.state = value["State"].asString();
+		if(!value["RegionId"].isNull())
+			fleetsObject.regionId = value["RegionId"].asString();
+		if(!value["ValidFrom"].isNull())
+			fleetsObject.validFrom = value["ValidFrom"].asString();
+		if(!value["ValidUntil"].isNull())
+			fleetsObject.validUntil = value["ValidUntil"].asString();
+		if(!value["ExcessCapacityTerminationPolicy"].isNull())
+			fleetsObject.excessCapacityTerminationPolicy = value["ExcessCapacityTerminationPolicy"].asString();
+		if(!value["MaxSpotPrice"].isNull())
+			fleetsObject.maxSpotPrice = std::stof(value["MaxSpotPrice"].asString());
+		if(!value["LaunchTemplateId"].isNull())
+			fleetsObject.launchTemplateId = value["LaunchTemplateId"].asString();
+		if(!value["LaunchTemplateVersion"].isNull())
+			fleetsObject.launchTemplateVersion = value["LaunchTemplateVersion"].asString();
+		if(!value["TerminateInstances"].isNull())
+			fleetsObject.terminateInstances = value["TerminateInstances"].asString() == "true";
+		if(!value["TerminateInstancesWithExpiration"].isNull())
+			fleetsObject.terminateInstancesWithExpiration = value["TerminateInstancesWithExpiration"].asString() == "true";
+		if(!value["CreationTime"].isNull())
+			fleetsObject.creationTime = value["CreationTime"].asString();
+		auto alllaunchTemplateConfigs = value["launchTemplateConfigs"]["LaunchTemplateConfig"];
+		for (auto value : alllaunchTemplateConfigs)
+		{
+			Fleet::LaunchTemplateConfig launchTemplateConfigsObject;
+			if(!value["InstanceType"].isNull())
+				launchTemplateConfigsObject.instanceType = value["InstanceType"].asString();
+			if(!value["MaxPrice"].isNull())
+				launchTemplateConfigsObject.maxPrice = std::stof(value["MaxPrice"].asString());
+			if(!value["VSWitchId"].isNull())
+				launchTemplateConfigsObject.vSWitchId = value["VSWitchId"].asString();
+			if(!value["WeightedCapacity"].isNull())
+				launchTemplateConfigsObject.weightedCapacity = std::stof(value["WeightedCapacity"].asString());
+			if(!value["Priority"].isNull())
+				launchTemplateConfigsObject.priority = std::stof(value["Priority"].asString());
+			fleetsObject.launchTemplateConfigs.push_back(launchTemplateConfigsObject);
+		}
+		auto spotOptionsNode = value["SpotOptions"];
+		if(!spotOptionsNode["AllocationStrategy"].isNull())
+			fleetsObject.spotOptions.allocationStrategy = spotOptionsNode["AllocationStrategy"].asString();
+		if(!spotOptionsNode["InstanceInterruptionBehavior"].isNull())
+			fleetsObject.spotOptions.instanceInterruptionBehavior = spotOptionsNode["InstanceInterruptionBehavior"].asString();
+		if(!spotOptionsNode["InstancePoolsToUseCount"].isNull())
+			fleetsObject.spotOptions.instancePoolsToUseCount = std::stoi(spotOptionsNode["InstancePoolsToUseCount"].asString());
+		auto onDemandOptionsNode = value["OnDemandOptions"];
+		if(!onDemandOptionsNode["AllocationStrategy"].isNull())
+			fleetsObject.onDemandOptions.allocationStrategy = onDemandOptionsNode["AllocationStrategy"].asString();
+		auto targetCapacitySpecificationNode = value["TargetCapacitySpecification"];
+		if(!targetCapacitySpecificationNode["TotalTargetCapacity"].isNull())
+			fleetsObject.targetCapacitySpecification.totalTargetCapacity = std::stof(targetCapacitySpecificationNode["TotalTargetCapacity"].asString());
+		if(!targetCapacitySpecificationNode["OnDemandTargetCapacity"].isNull())
+			fleetsObject.targetCapacitySpecification.onDemandTargetCapacity = std::stof(targetCapacitySpecificationNode["OnDemandTargetCapacity"].asString());
+		if(!targetCapacitySpecificationNode["SpotTargetCapacity"].isNull())
+			fleetsObject.targetCapacitySpecification.spotTargetCapacity = std::stof(targetCapacitySpecificationNode["SpotTargetCapacity"].asString());
+		if(!targetCapacitySpecificationNode["DefaultTargetCapacityType"].isNull())
+			fleetsObject.targetCapacitySpecification.defaultTargetCapacityType = targetCapacitySpecificationNode["DefaultTargetCapacityType"].asString();
+		if(!targetCapacitySpecificationNode["FillGapWithOnDemand"].isNull())
+			fleetsObject.targetCapacitySpecification.fillGapWithOnDemand = targetCapacitySpecificationNode["FillGapWithOnDemand"].asString() == "true";
+		fleets_.push_back(fleetsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<DescribeFleetsResult::Fleet> DescribeFleetsResult::getFleets()const
+{
+	return fleets_;
+}
+
+int DescribeFleetsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeFleetsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeFleetsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

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

@@ -25,6 +25,17 @@ DescribeImageSupportInstanceTypesRequest::DescribeImageSupportInstanceTypesReque
 DescribeImageSupportInstanceTypesRequest::~DescribeImageSupportInstanceTypesRequest()
 {}
 
+std::string DescribeImageSupportInstanceTypesRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeImageSupportInstanceTypesRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string DescribeImageSupportInstanceTypesRequest::getActionType()const
 {
 	return actionType_;

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

@@ -125,6 +125,17 @@ void DescribeInstancesFullStatusRequest::setAccessKeyId(const std::string& acces
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string DescribeInstancesFullStatusRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeInstancesFullStatusRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string DescribeInstancesFullStatusRequest::getSecurityToken()const
 {
 	return securityToken_;

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

@@ -25,6 +25,17 @@ DescribeKeyPairsRequest::DescribeKeyPairsRequest() :
 DescribeKeyPairsRequest::~DescribeKeyPairsRequest()
 {}
 
+std::string DescribeKeyPairsRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeKeyPairsRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 std::string DescribeKeyPairsRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;

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

@@ -25,6 +25,17 @@ DescribeRenewalPriceRequest::DescribeRenewalPriceRequest() :
 DescribeRenewalPriceRequest::~DescribeRenewalPriceRequest()
 {}
 
+std::string DescribeRenewalPriceRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeRenewalPriceRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 long DescribeRenewalPriceRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;

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

@@ -25,6 +25,17 @@ DescribeTagsRequest::DescribeTagsRequest() :
 DescribeTagsRequest::~DescribeTagsRequest()
 {}
 
+std::string DescribeTagsRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeTagsRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 long DescribeTagsRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;
@@ -108,6 +119,17 @@ void DescribeTagsRequest::setOwnerId(long ownerId)
 	setCoreParameter("OwnerId", std::to_string(ownerId));
 }
 
+std::string DescribeTagsRequest::getCategory()const
+{
+	return category_;
+}
+
+void DescribeTagsRequest::setCategory(const std::string& category)
+{
+	category_ = category;
+	setCoreParameter("Category", category);
+}
+
 std::string DescribeTagsRequest::getResourceType()const
 {
 	return resourceType_;

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

@@ -25,6 +25,17 @@ DescribeTaskAttributeRequest::DescribeTaskAttributeRequest() :
 DescribeTaskAttributeRequest::~DescribeTaskAttributeRequest()
 {}
 
+std::string DescribeTaskAttributeRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void DescribeTaskAttributeRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
 long DescribeTaskAttributeRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;

+ 368 - 0
ecs/src/model/ModifyFleetRequest.cc

@@ -0,0 +1,368 @@
+/*
+ * 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/ModifyFleetRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyFleetRequest;
+
+ModifyFleetRequest::ModifyFleetRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyFleet")
+{}
+
+ModifyFleetRequest::~ModifyFleetRequest()
+{}
+
+long ModifyFleetRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyFleetRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ModifyFleetRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ModifyFleetRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ModifyFleetRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ModifyFleetRequest::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 ModifyFleetRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ModifyFleetRequest::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);
+}
+
+bool ModifyFleetRequest::getTerminateInstancesWithExpiration()const
+{
+	return terminateInstancesWithExpiration_;
+}
+
+void ModifyFleetRequest::setTerminateInstancesWithExpiration(bool terminateInstancesWithExpiration)
+{
+	terminateInstancesWithExpiration_ = terminateInstancesWithExpiration;
+	setCoreParameter("TerminateInstancesWithExpiration", terminateInstancesWithExpiration ? "true" : "false");
+}
+
+std::string ModifyFleetRequest::getOnDemandTargetCapacity()const
+{
+	return onDemandTargetCapacity_;
+}
+
+void ModifyFleetRequest::setOnDemandTargetCapacity(const std::string& onDemandTargetCapacity)
+{
+	onDemandTargetCapacity_ = onDemandTargetCapacity;
+	setCoreParameter("OnDemandTargetCapacity", onDemandTargetCapacity);
+}
+
+std::string ModifyFleetRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ModifyFleetRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ModifyFleetRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ModifyFleetRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string ModifyFleetRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyFleetRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ModifyFleetRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ModifyFleetRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string ModifyFleetRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyFleetRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool ModifyFleetRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ModifyFleetRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string ModifyFleetRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ModifyFleetRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string ModifyFleetRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ModifyFleetRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ModifyFleetRequest::getDefaultTargetCapacityType()const
+{
+	return defaultTargetCapacityType_;
+}
+
+void ModifyFleetRequest::setDefaultTargetCapacityType(const std::string& defaultTargetCapacityType)
+{
+	defaultTargetCapacityType_ = defaultTargetCapacityType;
+	setCoreParameter("DefaultTargetCapacityType", defaultTargetCapacityType);
+}
+
+std::string ModifyFleetRequest::getExcessCapacityTerminationPolicy()const
+{
+	return excessCapacityTerminationPolicy_;
+}
+
+void ModifyFleetRequest::setExcessCapacityTerminationPolicy(const std::string& excessCapacityTerminationPolicy)
+{
+	excessCapacityTerminationPolicy_ = excessCapacityTerminationPolicy;
+	setCoreParameter("ExcessCapacityTerminationPolicy", excessCapacityTerminationPolicy);
+}
+
+std::string ModifyFleetRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ModifyFleetRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ModifyFleetRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ModifyFleetRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ModifyFleetRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ModifyFleetRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string ModifyFleetRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyFleetRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyFleetRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyFleetRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyFleetRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ModifyFleetRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long ModifyFleetRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyFleetRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ModifyFleetRequest::getFleetId()const
+{
+	return fleetId_;
+}
+
+void ModifyFleetRequest::setFleetId(const std::string& fleetId)
+{
+	fleetId_ = fleetId;
+	setCoreParameter("FleetId", fleetId);
+}
+
+bool ModifyFleetRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ModifyFleetRequest::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 ModifyFleetRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ModifyFleetRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool ModifyFleetRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ModifyFleetRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string ModifyFleetRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ModifyFleetRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string ModifyFleetRequest::getTotalTargetCapacity()const
+{
+	return totalTargetCapacity_;
+}
+
+void ModifyFleetRequest::setTotalTargetCapacity(const std::string& totalTargetCapacity)
+{
+	totalTargetCapacity_ = totalTargetCapacity;
+	setCoreParameter("TotalTargetCapacity", totalTargetCapacity);
+}
+
+std::string ModifyFleetRequest::getSpotTargetCapacity()const
+{
+	return spotTargetCapacity_;
+}
+
+void ModifyFleetRequest::setSpotTargetCapacity(const std::string& spotTargetCapacity)
+{
+	spotTargetCapacity_ = spotTargetCapacity;
+	setCoreParameter("SpotTargetCapacity", spotTargetCapacity);
+}
+
+float ModifyFleetRequest::getMaxSpotPrice()const
+{
+	return maxSpotPrice_;
+}
+
+void ModifyFleetRequest::setMaxSpotPrice(float maxSpotPrice)
+{
+	maxSpotPrice_ = maxSpotPrice;
+	setCoreParameter("MaxSpotPrice", std::to_string(maxSpotPrice));
+}
+

+ 45 - 0
ecs/src/model/ModifyFleetResult.cc

@@ -0,0 +1,45 @@
+/*
+ * 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/ModifyFleetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+ModifyFleetResult::ModifyFleetResult() :
+	ServiceResult()
+{}
+
+ModifyFleetResult::ModifyFleetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyFleetResult::~ModifyFleetResult()
+{}
+
+void ModifyFleetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

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

@@ -80,6 +80,17 @@ void ModifyPrepayInstanceSpecRequest::setOwnerAccount(const std::string& ownerAc
 	setCoreParameter("OwnerAccount", ownerAccount);
 }
 
+std::string ModifyPrepayInstanceSpecRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ModifyPrepayInstanceSpecRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
 long ModifyPrepayInstanceSpecRequest::getOwnerId()const
 {
 	return ownerId_;
@@ -113,6 +124,17 @@ void ModifyPrepayInstanceSpecRequest::setSystemDiskCategory(const std::string& s
 	setCoreParameter("SystemDiskCategory", systemDiskCategory);
 }
 
+std::string ModifyPrepayInstanceSpecRequest::getRebootTime()const
+{
+	return rebootTime_;
+}
+
+void ModifyPrepayInstanceSpecRequest::setRebootTime(const std::string& rebootTime)
+{
+	rebootTime_ = rebootTime;
+	setCoreParameter("RebootTime", rebootTime);
+}
+
 std::string ModifyPrepayInstanceSpecRequest::getSourceRegionId()const
 {
 	return sourceRegionId_;

+ 382 - 0
ecs/src/model/ReportInstancesStatusRequest.cc

@@ -0,0 +1,382 @@
+/*
+ * 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/ReportInstancesStatusRequest.h>
+
+using AlibabaCloud::Ecs::Model::ReportInstancesStatusRequest;
+
+ReportInstancesStatusRequest::ReportInstancesStatusRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ReportInstancesStatus")
+{}
+
+ReportInstancesStatusRequest::~ReportInstancesStatusRequest()
+{}
+
+std::string ReportInstancesStatusRequest::getReason()const
+{
+	return reason_;
+}
+
+void ReportInstancesStatusRequest::setReason(const std::string& reason)
+{
+	reason_ = reason;
+	setCoreParameter("Reason", reason);
+}
+
+long ReportInstancesStatusRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ReportInstancesStatusRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ReportInstancesStatusRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ReportInstancesStatusRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ReportInstancesStatusRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ReportInstancesStatusRequest::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 ReportInstancesStatusRequest::getDescription()const
+{
+	return description_;
+}
+
+void ReportInstancesStatusRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setCoreParameter("Description", description);
+}
+
+std::string ReportInstancesStatusRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ReportInstancesStatusRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string ReportInstancesStatusRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ReportInstancesStatusRequest::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 ReportInstancesStatusRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ReportInstancesStatusRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ReportInstancesStatusRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ReportInstancesStatusRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string ReportInstancesStatusRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ReportInstancesStatusRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ReportInstancesStatusRequest::getSourceRegionId()const
+{
+	return sourceRegionId_;
+}
+
+void ReportInstancesStatusRequest::setSourceRegionId(const std::string& sourceRegionId)
+{
+	sourceRegionId_ = sourceRegionId;
+	setCoreParameter("SourceRegionId", sourceRegionId);
+}
+
+std::string ReportInstancesStatusRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void ReportInstancesStatusRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setCoreParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string ReportInstancesStatusRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ReportInstancesStatusRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string ReportInstancesStatusRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ReportInstancesStatusRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool ReportInstancesStatusRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ReportInstancesStatusRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string ReportInstancesStatusRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ReportInstancesStatusRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string ReportInstancesStatusRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ReportInstancesStatusRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::vector<std::string> ReportInstancesStatusRequest::getDiskId()const
+{
+	return diskId_;
+}
+
+void ReportInstancesStatusRequest::setDiskId(const std::vector<std::string>& diskId)
+{
+	diskId_ = diskId;
+	for(int i = 0; i!= diskId.size(); i++)
+		setCoreParameter("DiskId."+ std::to_string(i), diskId.at(i));
+}
+
+std::string ReportInstancesStatusRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ReportInstancesStatusRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ReportInstancesStatusRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ReportInstancesStatusRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ReportInstancesStatusRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ReportInstancesStatusRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string ReportInstancesStatusRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ReportInstancesStatusRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ReportInstancesStatusRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ReportInstancesStatusRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ReportInstancesStatusRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ReportInstancesStatusRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+std::string ReportInstancesStatusRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ReportInstancesStatusRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long ReportInstancesStatusRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ReportInstancesStatusRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ReportInstancesStatusRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ReportInstancesStatusRequest::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 ReportInstancesStatusRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ReportInstancesStatusRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool ReportInstancesStatusRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ReportInstancesStatusRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::vector<std::string> ReportInstancesStatusRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ReportInstancesStatusRequest::setInstanceId(const std::vector<std::string>& instanceId)
+{
+	instanceId_ = instanceId;
+	for(int i = 0; i!= instanceId.size(); i++)
+		setCoreParameter("InstanceId."+ std::to_string(i), instanceId.at(i));
+}
+
+std::string ReportInstancesStatusRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ReportInstancesStatusRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::vector<std::string> ReportInstancesStatusRequest::getDevice()const
+{
+	return device_;
+}
+
+void ReportInstancesStatusRequest::setDevice(const std::vector<std::string>& device)
+{
+	device_ = device;
+	for(int i = 0; i!= device.size(); i++)
+		setCoreParameter("Device."+ std::to_string(i), device.at(i));
+}
+

+ 45 - 0
ecs/src/model/ReportInstancesStatusResult.cc

@@ -0,0 +1,45 @@
+/*
+ * 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/ReportInstancesStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+ReportInstancesStatusResult::ReportInstancesStatusResult() :
+	ServiceResult()
+{}
+
+ReportInstancesStatusResult::ReportInstancesStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ReportInstancesStatusResult::~ReportInstancesStatusResult()
+{}
+
+void ReportInstancesStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

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

@@ -43,6 +43,8 @@ void RunInstancesResult::parse(const std::string &payload)
 	auto allInstanceIdSets = value["InstanceIdSets"]["InstanceIdSet"];
 	for (const auto &item : allInstanceIdSets)
 		instanceIdSets_.push_back(item.asString());
+	if(!value["TradePrice"].isNull())
+		tradePrice_ = std::stof(value["TradePrice"].asString());
 
 }
 
@@ -51,3 +53,8 @@ std::vector<std::string> RunInstancesResult::getInstanceIdSets()const
 	return instanceIdSets_;
 }
 
+float RunInstancesResult::getTradePrice()const
+{
+	return tradePrice_;
+}
+