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

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

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 лет назад
Родитель
Сommit
34fabe824b

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-04-18 Version: 1.36.17
+1, add ReservedInstance API.
+
 2019-04-17 Version: 1.36.16
 1, Add DescribeRestoreTaskList DBS interface.
 2, Add DescribeNodeCidrList DBS interface.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.16
+1.36.17

+ 2 - 998
ecs/CMakeLists.txt

@@ -20,1006 +20,10 @@ set(ecs_public_header
 	include/alibabacloud/ecs/EcsClient.h
 	include/alibabacloud/ecs/EcsExport.h )
 
-set(ecs_public_header_model 
-	include/alibabacloud/ecs/model/JoinSecurityGroupRequest.h
-	include/alibabacloud/ecs/model/JoinSecurityGroupResult.h
-	include/alibabacloud/ecs/model/ModifySnapshotAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifySnapshotAttributeResult.h
-	include/alibabacloud/ecs/model/DescribeDedicatedHostTypesRequest.h
-	include/alibabacloud/ecs/model/DescribeDedicatedHostTypesResult.h
-	include/alibabacloud/ecs/model/UntagResourcesRequest.h
-	include/alibabacloud/ecs/model/UntagResourcesResult.h
-	include/alibabacloud/ecs/model/DescribeSnapshotsRequest.h
-	include/alibabacloud/ecs/model/DescribeSnapshotsResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceVncPasswdRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceVncPasswdResult.h
-	include/alibabacloud/ecs/model/ModifyBandwidthPackageSpecRequest.h
-	include/alibabacloud/ecs/model/ModifyBandwidthPackageSpecResult.h
-	include/alibabacloud/ecs/model/AttachDiskRequest.h
-	include/alibabacloud/ecs/model/AttachDiskResult.h
-	include/alibabacloud/ecs/model/CreateNatGatewayRequest.h
-	include/alibabacloud/ecs/model/CreateNatGatewayResult.h
-	include/alibabacloud/ecs/model/DescribeEniMonitorDataRequest.h
-	include/alibabacloud/ecs/model/DescribeEniMonitorDataResult.h
-	include/alibabacloud/ecs/model/ExportSnapshotRequest.h
-	include/alibabacloud/ecs/model/ExportSnapshotResult.h
-	include/alibabacloud/ecs/model/ReInitDiskRequest.h
-	include/alibabacloud/ecs/model/ReInitDiskResult.h
-	include/alibabacloud/ecs/model/CreateHaVipRequest.h
-	include/alibabacloud/ecs/model/CreateHaVipResult.h
-	include/alibabacloud/ecs/model/ModifyAutoSnapshotPolicyRequest.h
-	include/alibabacloud/ecs/model/ModifyAutoSnapshotPolicyResult.h
-	include/alibabacloud/ecs/model/AssociateEipAddressRequest.h
-	include/alibabacloud/ecs/model/AssociateEipAddressResult.h
-	include/alibabacloud/ecs/model/RevokeSecurityGroupEgressRequest.h
-	include/alibabacloud/ecs/model/RevokeSecurityGroupEgressResult.h
-	include/alibabacloud/ecs/model/DescribeEipAddressesRequest.h
-	include/alibabacloud/ecs/model/DescribeEipAddressesResult.h
-	include/alibabacloud/ecs/model/ActivateRouterInterfaceRequest.h
-	include/alibabacloud/ecs/model/ActivateRouterInterfaceResult.h
-	include/alibabacloud/ecs/model/DescribeSpotPriceHistoryRequest.h
-	include/alibabacloud/ecs/model/DescribeSpotPriceHistoryResult.h
-	include/alibabacloud/ecs/model/TerminateVirtualBorderRouterRequest.h
-	include/alibabacloud/ecs/model/TerminateVirtualBorderRouterResult.h
-	include/alibabacloud/ecs/model/StopInstanceRequest.h
-	include/alibabacloud/ecs/model/StopInstanceResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceTopologyRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceTopologyResult.h
-	include/alibabacloud/ecs/model/DeletePhysicalConnectionRequest.h
-	include/alibabacloud/ecs/model/DeletePhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/RevokeSecurityGroupRequest.h
-	include/alibabacloud/ecs/model/RevokeSecurityGroupResult.h
-	include/alibabacloud/ecs/model/DescribeTaskAttributeRequest.h
-	include/alibabacloud/ecs/model/DescribeTaskAttributeResult.h
-	include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyRequest.h
-	include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyResult.h
-	include/alibabacloud/ecs/model/ReActivateInstancesRequest.h
-	include/alibabacloud/ecs/model/ReActivateInstancesResult.h
-	include/alibabacloud/ecs/model/DescribeForwardTableEntriesRequest.h
-	include/alibabacloud/ecs/model/DescribeForwardTableEntriesResult.h
-	include/alibabacloud/ecs/model/DescribeInstancesRequest.h
-	include/alibabacloud/ecs/model/DescribeInstancesResult.h
-	include/alibabacloud/ecs/model/DescribeSecurityGroupReferencesRequest.h
-	include/alibabacloud/ecs/model/DescribeSecurityGroupReferencesResult.h
-	include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h
-	include/alibabacloud/ecs/model/AllocateDedicatedHostsResult.h
-	include/alibabacloud/ecs/model/DeleteRouterInterfaceRequest.h
-	include/alibabacloud/ecs/model/DeleteRouterInterfaceResult.h
-	include/alibabacloud/ecs/model/DetachInstanceRamRoleRequest.h
-	include/alibabacloud/ecs/model/DetachInstanceRamRoleResult.h
-	include/alibabacloud/ecs/model/AllocatePublicIpAddressRequest.h
-	include/alibabacloud/ecs/model/AllocatePublicIpAddressResult.h
-	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeResult.h
-	include/alibabacloud/ecs/model/DescribeEipMonitorDataRequest.h
-	include/alibabacloud/ecs/model/DescribeEipMonitorDataResult.h
-	include/alibabacloud/ecs/model/DescribeDisksFullStatusRequest.h
-	include/alibabacloud/ecs/model/DescribeDisksFullStatusResult.h
-	include/alibabacloud/ecs/model/CancelAutoSnapshotPolicyRequest.h
-	include/alibabacloud/ecs/model/CancelAutoSnapshotPolicyResult.h
-	include/alibabacloud/ecs/model/DeleteNetworkInterfaceRequest.h
-	include/alibabacloud/ecs/model/DeleteNetworkInterfaceResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceSpecResult.h
-	include/alibabacloud/ecs/model/AssignPrivateIpAddressesRequest.h
-	include/alibabacloud/ecs/model/AssignPrivateIpAddressesResult.h
-	include/alibabacloud/ecs/model/DeleteSnapshotRequest.h
-	include/alibabacloud/ecs/model/DeleteSnapshotResult.h
-	include/alibabacloud/ecs/model/DeleteKeyPairsRequest.h
-	include/alibabacloud/ecs/model/DeleteKeyPairsResult.h
-	include/alibabacloud/ecs/model/AuthorizeSecurityGroupRequest.h
-	include/alibabacloud/ecs/model/AuthorizeSecurityGroupResult.h
-	include/alibabacloud/ecs/model/DeleteSecurityGroupRequest.h
-	include/alibabacloud/ecs/model/DeleteSecurityGroupResult.h
-	include/alibabacloud/ecs/model/DescribeSnapshotMonitorDataRequest.h
-	include/alibabacloud/ecs/model/DescribeSnapshotMonitorDataResult.h
-	include/alibabacloud/ecs/model/ConnectRouterInterfaceRequest.h
-	include/alibabacloud/ecs/model/ConnectRouterInterfaceResult.h
-	include/alibabacloud/ecs/model/GetInstanceConsoleOutputRequest.h
-	include/alibabacloud/ecs/model/GetInstanceConsoleOutputResult.h
-	include/alibabacloud/ecs/model/CreateSimulatedSystemEventsRequest.h
-	include/alibabacloud/ecs/model/CreateSimulatedSystemEventsResult.h
-	include/alibabacloud/ecs/model/CancelTaskRequest.h
-	include/alibabacloud/ecs/model/CancelTaskResult.h
-	include/alibabacloud/ecs/model/RedeployInstanceRequest.h
-	include/alibabacloud/ecs/model/RedeployInstanceResult.h
-	include/alibabacloud/ecs/model/ModifyCommandRequest.h
-	include/alibabacloud/ecs/model/ModifyCommandResult.h
-	include/alibabacloud/ecs/model/ModifyPhysicalConnectionAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyPhysicalConnectionAttributeResult.h
-	include/alibabacloud/ecs/model/ModifyVSwitchAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyVSwitchAttributeResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceAttributeResult.h
-	include/alibabacloud/ecs/model/DeleteHaVipRequest.h
-	include/alibabacloud/ecs/model/DeleteHaVipResult.h
-	include/alibabacloud/ecs/model/DescribeSecurityGroupsRequest.h
-	include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h
-	include/alibabacloud/ecs/model/ResizeDiskRequest.h
-	include/alibabacloud/ecs/model/ResizeDiskResult.h
-	include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeResult.h
-	include/alibabacloud/ecs/model/CreateRouteEntryRequest.h
-	include/alibabacloud/ecs/model/CreateRouteEntryResult.h
-	include/alibabacloud/ecs/model/AttachKeyPairRequest.h
-	include/alibabacloud/ecs/model/AttachKeyPairResult.h
-	include/alibabacloud/ecs/model/DescribeInvocationsRequest.h
-	include/alibabacloud/ecs/model/DescribeInvocationsResult.h
-	include/alibabacloud/ecs/model/CreateRouterInterfaceRequest.h
-	include/alibabacloud/ecs/model/CreateRouterInterfaceResult.h
-	include/alibabacloud/ecs/model/TagResourcesRequest.h
-	include/alibabacloud/ecs/model/TagResourcesResult.h
-	include/alibabacloud/ecs/model/RunInstancesRequest.h
-	include/alibabacloud/ecs/model/RunInstancesResult.h
-	include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionRequest.h
-	include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionResult.h
-	include/alibabacloud/ecs/model/CreateLaunchTemplateVersionRequest.h
-	include/alibabacloud/ecs/model/CreateLaunchTemplateVersionResult.h
-	include/alibabacloud/ecs/model/StopInvocationRequest.h
-	include/alibabacloud/ecs/model/StopInvocationResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceDeploymentRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h
-	include/alibabacloud/ecs/model/ModifyDiskAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyDiskAttributeResult.h
-	include/alibabacloud/ecs/model/CreateVSwitchRequest.h
-	include/alibabacloud/ecs/model/CreateVSwitchResult.h
-	include/alibabacloud/ecs/model/DescribeBandwidthLimitationRequest.h
-	include/alibabacloud/ecs/model/DescribeBandwidthLimitationResult.h
-	include/alibabacloud/ecs/model/ModifyEipAddressAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyEipAddressAttributeResult.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupAttributeResult.h
-	include/alibabacloud/ecs/model/RemoveTagsRequest.h
-	include/alibabacloud/ecs/model/RemoveTagsResult.h
-	include/alibabacloud/ecs/model/RenewDedicatedHostsRequest.h
-	include/alibabacloud/ecs/model/RenewDedicatedHostsResult.h
-	include/alibabacloud/ecs/model/CancelSimulatedSystemEventsRequest.h
-	include/alibabacloud/ecs/model/CancelSimulatedSystemEventsResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceAutoReleaseTimeRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceAutoReleaseTimeResult.h
-	include/alibabacloud/ecs/model/DeleteNatGatewayRequest.h
-	include/alibabacloud/ecs/model/DeleteNatGatewayResult.h
-	include/alibabacloud/ecs/model/DescribeZonesRequest.h
-	include/alibabacloud/ecs/model/DescribeZonesResult.h
-	include/alibabacloud/ecs/model/DeactivateRouterInterfaceRequest.h
-	include/alibabacloud/ecs/model/DeactivateRouterInterfaceResult.h
-	include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h
-	include/alibabacloud/ecs/model/DescribeAvailableResourceResult.h
-	include/alibabacloud/ecs/model/DescribeAccessPointsRequest.h
-	include/alibabacloud/ecs/model/DescribeAccessPointsResult.h
-	include/alibabacloud/ecs/model/CreateCommandRequest.h
-	include/alibabacloud/ecs/model/CreateCommandResult.h
-	include/alibabacloud/ecs/model/DescribeInstancesFullStatusRequest.h
-	include/alibabacloud/ecs/model/DescribeInstancesFullStatusResult.h
-	include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h
-	include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
-	include/alibabacloud/ecs/model/ReleaseEipAddressRequest.h
-	include/alibabacloud/ecs/model/ReleaseEipAddressResult.h
-	include/alibabacloud/ecs/model/DetachClassicLinkVpcRequest.h
-	include/alibabacloud/ecs/model/DetachClassicLinkVpcResult.h
-	include/alibabacloud/ecs/model/DescribeVSwitchesRequest.h
-	include/alibabacloud/ecs/model/DescribeVSwitchesResult.h
-	include/alibabacloud/ecs/model/ModifyRouterInterfaceSpecRequest.h
-	include/alibabacloud/ecs/model/ModifyRouterInterfaceSpecResult.h
-	include/alibabacloud/ecs/model/DescribeVpcsRequest.h
-	include/alibabacloud/ecs/model/DescribeVpcsResult.h
-	include/alibabacloud/ecs/model/ExportImageRequest.h
-	include/alibabacloud/ecs/model/ExportImageResult.h
-	include/alibabacloud/ecs/model/DescribeDiskMonitorDataRequest.h
-	include/alibabacloud/ecs/model/DescribeDiskMonitorDataResult.h
-	include/alibabacloud/ecs/model/ModifyDeploymentSetAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyDeploymentSetAttributeResult.h
-	include/alibabacloud/ecs/model/ModifyRouterInterfaceAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyRouterInterfaceAttributeResult.h
-	include/alibabacloud/ecs/model/DescribeVirtualBorderRoutersForPhysicalConnectionRequest.h
-	include/alibabacloud/ecs/model/DescribeVirtualBorderRoutersForPhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/StartInstanceRequest.h
-	include/alibabacloud/ecs/model/StartInstanceResult.h
-	include/alibabacloud/ecs/model/CreateDiskRequest.h
-	include/alibabacloud/ecs/model/CreateDiskResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceTypesRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
-	include/alibabacloud/ecs/model/DescribeSnapshotPackageRequest.h
-	include/alibabacloud/ecs/model/DescribeSnapshotPackageResult.h
-	include/alibabacloud/ecs/model/RebootInstanceRequest.h
-	include/alibabacloud/ecs/model/RebootInstanceResult.h
-	include/alibabacloud/ecs/model/InvokeCommandRequest.h
-	include/alibabacloud/ecs/model/InvokeCommandResult.h
-	include/alibabacloud/ecs/model/ModifyUserBusinessBehaviorRequest.h
-	include/alibabacloud/ecs/model/ModifyUserBusinessBehaviorResult.h
-	include/alibabacloud/ecs/model/DeleteForwardEntryRequest.h
-	include/alibabacloud/ecs/model/DeleteForwardEntryResult.h
-	include/alibabacloud/ecs/model/DescribeHpcClustersRequest.h
-	include/alibabacloud/ecs/model/DescribeHpcClustersResult.h
-	include/alibabacloud/ecs/model/AcceptInquiredSystemEventRequest.h
-	include/alibabacloud/ecs/model/AcceptInquiredSystemEventResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceChargeTypeRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceChargeTypeResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceAutoRenewAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceAutoRenewAttributeResult.h
-	include/alibabacloud/ecs/model/DescribeVirtualBorderRoutersRequest.h
-	include/alibabacloud/ecs/model/DescribeVirtualBorderRoutersResult.h
-	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeRequest.h
-	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeResult.h
-	include/alibabacloud/ecs/model/ModifyHpcClusterAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyHpcClusterAttributeResult.h
-	include/alibabacloud/ecs/model/DescribePriceRequest.h
-	include/alibabacloud/ecs/model/DescribePriceResult.h
-	include/alibabacloud/ecs/model/DescribeLimitationRequest.h
-	include/alibabacloud/ecs/model/DescribeLimitationResult.h
-	include/alibabacloud/ecs/model/DeleteDeploymentSetRequest.h
-	include/alibabacloud/ecs/model/DeleteDeploymentSetResult.h
-	include/alibabacloud/ecs/model/ModifyInstanceVpcAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyInstanceVpcAttributeResult.h
-	include/alibabacloud/ecs/model/ReleaseDedicatedHostRequest.h
-	include/alibabacloud/ecs/model/ReleaseDedicatedHostResult.h
-	include/alibabacloud/ecs/model/AddTagsRequest.h
-	include/alibabacloud/ecs/model/AddTagsResult.h
-	include/alibabacloud/ecs/model/CreateHpcClusterRequest.h
-	include/alibabacloud/ecs/model/CreateHpcClusterResult.h
-	include/alibabacloud/ecs/model/DescribeUserBusinessBehaviorRequest.h
-	include/alibabacloud/ecs/model/DescribeUserBusinessBehaviorResult.h
-	include/alibabacloud/ecs/model/DescribeCommandsRequest.h
-	include/alibabacloud/ecs/model/DescribeCommandsResult.h
-	include/alibabacloud/ecs/model/DeleteImageRequest.h
-	include/alibabacloud/ecs/model/DeleteImageResult.h
-	include/alibabacloud/ecs/model/DescribeNetworkInterfacePermissionsRequest.h
-	include/alibabacloud/ecs/model/DescribeNetworkInterfacePermissionsResult.h
-	include/alibabacloud/ecs/model/DescribeDisksRequest.h
-	include/alibabacloud/ecs/model/DescribeDisksResult.h
-	include/alibabacloud/ecs/model/DeleteVpcRequest.h
-	include/alibabacloud/ecs/model/DeleteVpcResult.h
-	include/alibabacloud/ecs/model/DeleteCommandRequest.h
-	include/alibabacloud/ecs/model/DeleteCommandResult.h
-	include/alibabacloud/ecs/model/DescribeImageSupportInstanceTypesRequest.h
-	include/alibabacloud/ecs/model/DescribeImageSupportInstanceTypesResult.h
-	include/alibabacloud/ecs/model/ReplaceSystemDiskRequest.h
-	include/alibabacloud/ecs/model/ReplaceSystemDiskResult.h
-	include/alibabacloud/ecs/model/DeleteVSwitchRequest.h
-	include/alibabacloud/ecs/model/DeleteVSwitchResult.h
-	include/alibabacloud/ecs/model/ModifyImageShareGroupPermissionRequest.h
-	include/alibabacloud/ecs/model/ModifyImageShareGroupPermissionResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceVncUrlRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceVncUrlResult.h
-	include/alibabacloud/ecs/model/DescribeDemandsRequest.h
-	include/alibabacloud/ecs/model/DescribeDemandsResult.h
-	include/alibabacloud/ecs/model/RecoverVirtualBorderRouterRequest.h
-	include/alibabacloud/ecs/model/RecoverVirtualBorderRouterResult.h
-	include/alibabacloud/ecs/model/DescribeResourceByTagsRequest.h
-	include/alibabacloud/ecs/model/DescribeResourceByTagsResult.h
-	include/alibabacloud/ecs/model/DescribeClustersRequest.h
-	include/alibabacloud/ecs/model/DescribeClustersResult.h
-	include/alibabacloud/ecs/model/DescribeTagsRequest.h
-	include/alibabacloud/ecs/model/DescribeTagsResult.h
-	include/alibabacloud/ecs/model/DeleteBandwidthPackageRequest.h
-	include/alibabacloud/ecs/model/DeleteBandwidthPackageResult.h
-	include/alibabacloud/ecs/model/DescribeImagesRequest.h
-	include/alibabacloud/ecs/model/DescribeImagesResult.h
-	include/alibabacloud/ecs/model/AuthorizeSecurityGroupEgressRequest.h
-	include/alibabacloud/ecs/model/AuthorizeSecurityGroupEgressResult.h
-	include/alibabacloud/ecs/model/ImportImageRequest.h
-	include/alibabacloud/ecs/model/ImportImageResult.h
-	include/alibabacloud/ecs/model/ModifyForwardEntryRequest.h
-	include/alibabacloud/ecs/model/ModifyForwardEntryResult.h
-	include/alibabacloud/ecs/model/RenewInstanceRequest.h
-	include/alibabacloud/ecs/model/RenewInstanceResult.h
-	include/alibabacloud/ecs/model/CopyImageRequest.h
-	include/alibabacloud/ecs/model/CopyImageResult.h
-	include/alibabacloud/ecs/model/CreateVpcRequest.h
-	include/alibabacloud/ecs/model/CreateVpcResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataResult.h
-	include/alibabacloud/ecs/model/UnassociateEipAddressRequest.h
-	include/alibabacloud/ecs/model/UnassociateEipAddressResult.h
-	include/alibabacloud/ecs/model/CreateSnapshotRequest.h
-	include/alibabacloud/ecs/model/CreateSnapshotResult.h
-	include/alibabacloud/ecs/model/ModifyVirtualBorderRouterAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyVirtualBorderRouterAttributeResult.h
-	include/alibabacloud/ecs/model/DetachKeyPairRequest.h
-	include/alibabacloud/ecs/model/DetachKeyPairResult.h
-	include/alibabacloud/ecs/model/DescribeTasksRequest.h
-	include/alibabacloud/ecs/model/DescribeTasksResult.h
-	include/alibabacloud/ecs/model/DescribeRenewalPriceRequest.h
-	include/alibabacloud/ecs/model/DescribeRenewalPriceResult.h
-	include/alibabacloud/ecs/model/LeaveSecurityGroupRequest.h
-	include/alibabacloud/ecs/model/LeaveSecurityGroupResult.h
-	include/alibabacloud/ecs/model/UnassignPrivateIpAddressesRequest.h
-	include/alibabacloud/ecs/model/UnassignPrivateIpAddressesResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceVncPasswdRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceVncPasswdResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeResult.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupRuleRequest.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupRuleResult.h
-	include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h
-	include/alibabacloud/ecs/model/DescribeResourcesModificationResult.h
-	include/alibabacloud/ecs/model/ImportKeyPairRequest.h
-	include/alibabacloud/ecs/model/ImportKeyPairResult.h
-	include/alibabacloud/ecs/model/DescribeNewProjectEipMonitorDataRequest.h
-	include/alibabacloud/ecs/model/DescribeNewProjectEipMonitorDataResult.h
-	include/alibabacloud/ecs/model/DeleteLaunchTemplateRequest.h
-	include/alibabacloud/ecs/model/DeleteLaunchTemplateResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceRamRoleRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceRamRoleResult.h
-	include/alibabacloud/ecs/model/CreateImageRequest.h
-	include/alibabacloud/ecs/model/CreateImageResult.h
-	include/alibabacloud/ecs/model/DescribeHaVipsRequest.h
-	include/alibabacloud/ecs/model/DescribeHaVipsResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceAttributeRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceAttributeResult.h
-	include/alibabacloud/ecs/model/DetachDiskRequest.h
-	include/alibabacloud/ecs/model/DetachDiskResult.h
-	include/alibabacloud/ecs/model/ModifyImageAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyImageAttributeResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceStatusRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceStatusResult.h
-	include/alibabacloud/ecs/model/AddBandwidthPackageIpsRequest.h
-	include/alibabacloud/ecs/model/AddBandwidthPackageIpsResult.h
-	include/alibabacloud/ecs/model/DescribeNatGatewaysRequest.h
-	include/alibabacloud/ecs/model/DescribeNatGatewaysResult.h
-	include/alibabacloud/ecs/model/DeleteHpcClusterRequest.h
-	include/alibabacloud/ecs/model/DeleteHpcClusterResult.h
-	include/alibabacloud/ecs/model/ResetDiskRequest.h
-	include/alibabacloud/ecs/model/ResetDiskResult.h
-	include/alibabacloud/ecs/model/ModifyDiskChargeTypeRequest.h
-	include/alibabacloud/ecs/model/ModifyDiskChargeTypeResult.h
-	include/alibabacloud/ecs/model/DescribeBandwidthPackagesRequest.h
-	include/alibabacloud/ecs/model/DescribeBandwidthPackagesResult.h
-	include/alibabacloud/ecs/model/ApplyAutoSnapshotPolicyRequest.h
-	include/alibabacloud/ecs/model/ApplyAutoSnapshotPolicyResult.h
-	include/alibabacloud/ecs/model/CreateSecurityGroupRequest.h
-	include/alibabacloud/ecs/model/CreateSecurityGroupResult.h
-	include/alibabacloud/ecs/model/DescribeSnapshotLinksRequest.h
-	include/alibabacloud/ecs/model/DescribeSnapshotLinksResult.h
-	include/alibabacloud/ecs/model/DescribeInvocationResultsRequest.h
-	include/alibabacloud/ecs/model/DescribeInvocationResultsResult.h
-	include/alibabacloud/ecs/model/DescribeRecommendInstanceTypeRequest.h
-	include/alibabacloud/ecs/model/DescribeRecommendInstanceTypeResult.h
-	include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewRequest.h
-	include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewResult.h
-	include/alibabacloud/ecs/model/DeleteInstanceRequest.h
-	include/alibabacloud/ecs/model/DeleteInstanceResult.h
-	include/alibabacloud/ecs/model/CreateLaunchTemplateRequest.h
-	include/alibabacloud/ecs/model/CreateLaunchTemplateResult.h
-	include/alibabacloud/ecs/model/ListTagResourcesRequest.h
-	include/alibabacloud/ecs/model/ListTagResourcesResult.h
-	include/alibabacloud/ecs/model/ModifyVpcAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyVpcAttributeResult.h
-	include/alibabacloud/ecs/model/RemoveBandwidthPackageIpsRequest.h
-	include/alibabacloud/ecs/model/RemoveBandwidthPackageIpsResult.h
-	include/alibabacloud/ecs/model/CreateNetworkInterfacePermissionRequest.h
-	include/alibabacloud/ecs/model/CreateNetworkInterfacePermissionResult.h
-	include/alibabacloud/ecs/model/DescribeSnapshotsUsageRequest.h
-	include/alibabacloud/ecs/model/DescribeSnapshotsUsageResult.h
-	include/alibabacloud/ecs/model/CreateInstanceRequest.h
-	include/alibabacloud/ecs/model/CreateInstanceResult.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupEgressRuleRequest.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupEgressRuleResult.h
-	include/alibabacloud/ecs/model/DeleteAutoSnapshotPolicyRequest.h
-	include/alibabacloud/ecs/model/DeleteAutoSnapshotPolicyResult.h
-	include/alibabacloud/ecs/model/EnablePhysicalConnectionRequest.h
-	include/alibabacloud/ecs/model/EnablePhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/DescribeInstanceTypeFamiliesRequest.h
-	include/alibabacloud/ecs/model/DescribeInstanceTypeFamiliesResult.h
-	include/alibabacloud/ecs/model/CreateForwardEntryRequest.h
-	include/alibabacloud/ecs/model/CreateForwardEntryResult.h
-	include/alibabacloud/ecs/model/DescribeRouterInterfacesRequest.h
-	include/alibabacloud/ecs/model/DescribeRouterInterfacesResult.h
-	include/alibabacloud/ecs/model/DescribeLaunchTemplatesRequest.h
-	include/alibabacloud/ecs/model/DescribeLaunchTemplatesResult.h
-	include/alibabacloud/ecs/model/EipNotifyPaidRequest.h
-	include/alibabacloud/ecs/model/EipNotifyPaidResult.h
-	include/alibabacloud/ecs/model/ReleasePublicIpAddressRequest.h
-	include/alibabacloud/ecs/model/ReleasePublicIpAddressResult.h
-	include/alibabacloud/ecs/model/CreateVirtualBorderRouterRequest.h
-	include/alibabacloud/ecs/model/CreateVirtualBorderRouterResult.h
-	include/alibabacloud/ecs/model/DescribeAccountAttributesRequest.h
-	include/alibabacloud/ecs/model/DescribeAccountAttributesResult.h
-	include/alibabacloud/ecs/model/EipFillParamsRequest.h
-	include/alibabacloud/ecs/model/EipFillParamsResult.h
-	include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecRequest.h
-	include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecResult.h
-	include/alibabacloud/ecs/model/EipFillProductRequest.h
-	include/alibabacloud/ecs/model/EipFillProductResult.h
-	include/alibabacloud/ecs/model/DescribeRouteTablesRequest.h
-	include/alibabacloud/ecs/model/DescribeRouteTablesResult.h
-	include/alibabacloud/ecs/model/ModifyAutoSnapshotPolicyExRequest.h
-	include/alibabacloud/ecs/model/ModifyAutoSnapshotPolicyExResult.h
-	include/alibabacloud/ecs/model/JoinResourceGroupRequest.h
-	include/alibabacloud/ecs/model/JoinResourceGroupResult.h
-	include/alibabacloud/ecs/model/DescribeUserDataRequest.h
-	include/alibabacloud/ecs/model/DescribeUserDataResult.h
-	include/alibabacloud/ecs/model/CreatePhysicalConnectionRequest.h
-	include/alibabacloud/ecs/model/CreatePhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/DescribeKeyPairsRequest.h
-	include/alibabacloud/ecs/model/DescribeKeyPairsResult.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupPolicyRequest.h
-	include/alibabacloud/ecs/model/ModifySecurityGroupPolicyResult.h
-	include/alibabacloud/ecs/model/AssociateHaVipRequest.h
-	include/alibabacloud/ecs/model/AssociateHaVipResult.h
-	include/alibabacloud/ecs/model/ConvertNatPublicIpToEipRequest.h
-	include/alibabacloud/ecs/model/ConvertNatPublicIpToEipResult.h
-	include/alibabacloud/ecs/model/AssignIpv6AddressesRequest.h
-	include/alibabacloud/ecs/model/AssignIpv6AddressesResult.h
-	include/alibabacloud/ecs/model/DescribeCloudAssistantStatusRequest.h
-	include/alibabacloud/ecs/model/DescribeCloudAssistantStatusResult.h
-	include/alibabacloud/ecs/model/DeleteRouteEntryRequest.h
-	include/alibabacloud/ecs/model/DeleteRouteEntryResult.h
-	include/alibabacloud/ecs/model/DeleteVirtualBorderRouterRequest.h
-	include/alibabacloud/ecs/model/DeleteVirtualBorderRouterResult.h
-	include/alibabacloud/ecs/model/UnassignIpv6AddressesRequest.h
-	include/alibabacloud/ecs/model/UnassignIpv6AddressesResult.h
-	include/alibabacloud/ecs/model/DescribeInstancePhysicalAttributeRequest.h
-	include/alibabacloud/ecs/model/DescribeInstancePhysicalAttributeResult.h
-	include/alibabacloud/ecs/model/TerminatePhysicalConnectionRequest.h
-	include/alibabacloud/ecs/model/TerminatePhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/AttachNetworkInterfaceRequest.h
-	include/alibabacloud/ecs/model/AttachNetworkInterfaceResult.h
-	include/alibabacloud/ecs/model/DescribeSecurityGroupAttributeRequest.h
-	include/alibabacloud/ecs/model/DescribeSecurityGroupAttributeResult.h
-	include/alibabacloud/ecs/model/ModifyImageSharePermissionRequest.h
-	include/alibabacloud/ecs/model/ModifyImageSharePermissionResult.h
-	include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h
-	include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExResult.h
-	include/alibabacloud/ecs/model/CancelCopyImageRequest.h
-	include/alibabacloud/ecs/model/CancelCopyImageResult.h
-	include/alibabacloud/ecs/model/DescribeImageSharePermissionRequest.h
-	include/alibabacloud/ecs/model/DescribeImageSharePermissionResult.h
-	include/alibabacloud/ecs/model/CreateDeploymentSetRequest.h
-	include/alibabacloud/ecs/model/CreateDeploymentSetResult.h
-	include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionRequest.h
-	include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionResult.h
-	include/alibabacloud/ecs/model/DescribeRegionsRequest.h
-	include/alibabacloud/ecs/model/DescribeRegionsResult.h
-	include/alibabacloud/ecs/model/DescribeClassicLinkInstancesRequest.h
-	include/alibabacloud/ecs/model/DescribeClassicLinkInstancesResult.h
-	include/alibabacloud/ecs/model/DescribePhysicalConnectionsRequest.h
-	include/alibabacloud/ecs/model/DescribePhysicalConnectionsResult.h
-	include/alibabacloud/ecs/model/ImportSnapshotRequest.h
-	include/alibabacloud/ecs/model/ImportSnapshotResult.h
-	include/alibabacloud/ecs/model/CreateNetworkInterfaceRequest.h
-	include/alibabacloud/ecs/model/CreateNetworkInterfaceResult.h
-	include/alibabacloud/ecs/model/DeleteNetworkInterfacePermissionRequest.h
-	include/alibabacloud/ecs/model/DeleteNetworkInterfacePermissionResult.h
-	include/alibabacloud/ecs/model/CancelPhysicalConnectionRequest.h
-	include/alibabacloud/ecs/model/CancelPhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/DescribeVRoutersRequest.h
-	include/alibabacloud/ecs/model/DescribeVRoutersResult.h
-	include/alibabacloud/ecs/model/DescribeNetworkInterfacesRequest.h
-	include/alibabacloud/ecs/model/DescribeNetworkInterfacesResult.h
-	include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsRequest.h
-	include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsResult.h
-	include/alibabacloud/ecs/model/DetachNetworkInterfaceRequest.h
-	include/alibabacloud/ecs/model/DetachNetworkInterfaceResult.h
-	include/alibabacloud/ecs/model/ModifyNetworkInterfaceAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyNetworkInterfaceAttributeResult.h
-	include/alibabacloud/ecs/model/DeleteDiskRequest.h
-	include/alibabacloud/ecs/model/DeleteDiskResult.h
-	include/alibabacloud/ecs/model/AllocateEipAddressRequest.h
-	include/alibabacloud/ecs/model/AllocateEipAddressResult.h
-	include/alibabacloud/ecs/model/UnassociateHaVipRequest.h
-	include/alibabacloud/ecs/model/UnassociateHaVipResult.h
-	include/alibabacloud/ecs/model/ModifyHaVipAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyHaVipAttributeResult.h
-	include/alibabacloud/ecs/model/CreateKeyPairRequest.h
-	include/alibabacloud/ecs/model/CreateKeyPairResult.h
-	include/alibabacloud/ecs/model/DescribeDeploymentSetsRequest.h
-	include/alibabacloud/ecs/model/DescribeDeploymentSetsResult.h
-	include/alibabacloud/ecs/model/AttachClassicLinkVpcRequest.h
-	include/alibabacloud/ecs/model/AttachClassicLinkVpcResult.h
-	include/alibabacloud/ecs/model/GetInstanceScreenshotRequest.h
-	include/alibabacloud/ecs/model/GetInstanceScreenshotResult.h
-	include/alibabacloud/ecs/model/AttachInstanceRamRoleRequest.h
-	include/alibabacloud/ecs/model/AttachInstanceRamRoleResult.h
-	include/alibabacloud/ecs/model/InstallCloudAssistantRequest.h
-	include/alibabacloud/ecs/model/InstallCloudAssistantResult.h
-	include/alibabacloud/ecs/model/ModifyVRouterAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyVRouterAttributeResult.h )
+set(ecs_public_header_model  )
 
 set(ecs_src 
-	src/EcsClient.cc
-	src/model/JoinSecurityGroupRequest.cc
-	src/model/JoinSecurityGroupResult.cc
-	src/model/ModifySnapshotAttributeRequest.cc
-	src/model/ModifySnapshotAttributeResult.cc
-	src/model/DescribeDedicatedHostTypesRequest.cc
-	src/model/DescribeDedicatedHostTypesResult.cc
-	src/model/UntagResourcesRequest.cc
-	src/model/UntagResourcesResult.cc
-	src/model/DescribeSnapshotsRequest.cc
-	src/model/DescribeSnapshotsResult.cc
-	src/model/ModifyInstanceVncPasswdRequest.cc
-	src/model/ModifyInstanceVncPasswdResult.cc
-	src/model/ModifyBandwidthPackageSpecRequest.cc
-	src/model/ModifyBandwidthPackageSpecResult.cc
-	src/model/AttachDiskRequest.cc
-	src/model/AttachDiskResult.cc
-	src/model/CreateNatGatewayRequest.cc
-	src/model/CreateNatGatewayResult.cc
-	src/model/DescribeEniMonitorDataRequest.cc
-	src/model/DescribeEniMonitorDataResult.cc
-	src/model/ExportSnapshotRequest.cc
-	src/model/ExportSnapshotResult.cc
-	src/model/ReInitDiskRequest.cc
-	src/model/ReInitDiskResult.cc
-	src/model/CreateHaVipRequest.cc
-	src/model/CreateHaVipResult.cc
-	src/model/ModifyAutoSnapshotPolicyRequest.cc
-	src/model/ModifyAutoSnapshotPolicyResult.cc
-	src/model/AssociateEipAddressRequest.cc
-	src/model/AssociateEipAddressResult.cc
-	src/model/RevokeSecurityGroupEgressRequest.cc
-	src/model/RevokeSecurityGroupEgressResult.cc
-	src/model/DescribeEipAddressesRequest.cc
-	src/model/DescribeEipAddressesResult.cc
-	src/model/ActivateRouterInterfaceRequest.cc
-	src/model/ActivateRouterInterfaceResult.cc
-	src/model/DescribeSpotPriceHistoryRequest.cc
-	src/model/DescribeSpotPriceHistoryResult.cc
-	src/model/TerminateVirtualBorderRouterRequest.cc
-	src/model/TerminateVirtualBorderRouterResult.cc
-	src/model/StopInstanceRequest.cc
-	src/model/StopInstanceResult.cc
-	src/model/DescribeInstanceHistoryEventsRequest.cc
-	src/model/DescribeInstanceHistoryEventsResult.cc
-	src/model/DescribeInstanceTopologyRequest.cc
-	src/model/DescribeInstanceTopologyResult.cc
-	src/model/DeletePhysicalConnectionRequest.cc
-	src/model/DeletePhysicalConnectionResult.cc
-	src/model/RevokeSecurityGroupRequest.cc
-	src/model/RevokeSecurityGroupResult.cc
-	src/model/DescribeTaskAttributeRequest.cc
-	src/model/DescribeTaskAttributeResult.cc
-	src/model/CreateAutoSnapshotPolicyRequest.cc
-	src/model/CreateAutoSnapshotPolicyResult.cc
-	src/model/ReActivateInstancesRequest.cc
-	src/model/ReActivateInstancesResult.cc
-	src/model/DescribeForwardTableEntriesRequest.cc
-	src/model/DescribeForwardTableEntriesResult.cc
-	src/model/DescribeInstancesRequest.cc
-	src/model/DescribeInstancesResult.cc
-	src/model/DescribeSecurityGroupReferencesRequest.cc
-	src/model/DescribeSecurityGroupReferencesResult.cc
-	src/model/AllocateDedicatedHostsRequest.cc
-	src/model/AllocateDedicatedHostsResult.cc
-	src/model/DeleteRouterInterfaceRequest.cc
-	src/model/DeleteRouterInterfaceResult.cc
-	src/model/DetachInstanceRamRoleRequest.cc
-	src/model/DetachInstanceRamRoleResult.cc
-	src/model/AllocatePublicIpAddressRequest.cc
-	src/model/AllocatePublicIpAddressResult.cc
-	src/model/ModifyDedicatedHostAutoRenewAttributeRequest.cc
-	src/model/ModifyDedicatedHostAutoRenewAttributeResult.cc
-	src/model/DescribeEipMonitorDataRequest.cc
-	src/model/DescribeEipMonitorDataResult.cc
-	src/model/DescribeDisksFullStatusRequest.cc
-	src/model/DescribeDisksFullStatusResult.cc
-	src/model/CancelAutoSnapshotPolicyRequest.cc
-	src/model/CancelAutoSnapshotPolicyResult.cc
-	src/model/DeleteNetworkInterfaceRequest.cc
-	src/model/DeleteNetworkInterfaceResult.cc
-	src/model/ModifyInstanceSpecRequest.cc
-	src/model/ModifyInstanceSpecResult.cc
-	src/model/AssignPrivateIpAddressesRequest.cc
-	src/model/AssignPrivateIpAddressesResult.cc
-	src/model/DeleteSnapshotRequest.cc
-	src/model/DeleteSnapshotResult.cc
-	src/model/DeleteKeyPairsRequest.cc
-	src/model/DeleteKeyPairsResult.cc
-	src/model/AuthorizeSecurityGroupRequest.cc
-	src/model/AuthorizeSecurityGroupResult.cc
-	src/model/DeleteSecurityGroupRequest.cc
-	src/model/DeleteSecurityGroupResult.cc
-	src/model/DescribeSnapshotMonitorDataRequest.cc
-	src/model/DescribeSnapshotMonitorDataResult.cc
-	src/model/ConnectRouterInterfaceRequest.cc
-	src/model/ConnectRouterInterfaceResult.cc
-	src/model/GetInstanceConsoleOutputRequest.cc
-	src/model/GetInstanceConsoleOutputResult.cc
-	src/model/CreateSimulatedSystemEventsRequest.cc
-	src/model/CreateSimulatedSystemEventsResult.cc
-	src/model/CancelTaskRequest.cc
-	src/model/CancelTaskResult.cc
-	src/model/RedeployInstanceRequest.cc
-	src/model/RedeployInstanceResult.cc
-	src/model/ModifyCommandRequest.cc
-	src/model/ModifyCommandResult.cc
-	src/model/ModifyPhysicalConnectionAttributeRequest.cc
-	src/model/ModifyPhysicalConnectionAttributeResult.cc
-	src/model/ModifyVSwitchAttributeRequest.cc
-	src/model/ModifyVSwitchAttributeResult.cc
-	src/model/ModifyInstanceAttributeRequest.cc
-	src/model/ModifyInstanceAttributeResult.cc
-	src/model/DeleteHaVipRequest.cc
-	src/model/DeleteHaVipResult.cc
-	src/model/DescribeSecurityGroupsRequest.cc
-	src/model/DescribeSecurityGroupsResult.cc
-	src/model/ResizeDiskRequest.cc
-	src/model/ResizeDiskResult.cc
-	src/model/ModifyDedicatedHostAttributeRequest.cc
-	src/model/ModifyDedicatedHostAttributeResult.cc
-	src/model/CreateRouteEntryRequest.cc
-	src/model/CreateRouteEntryResult.cc
-	src/model/AttachKeyPairRequest.cc
-	src/model/AttachKeyPairResult.cc
-	src/model/DescribeInvocationsRequest.cc
-	src/model/DescribeInvocationsResult.cc
-	src/model/CreateRouterInterfaceRequest.cc
-	src/model/CreateRouterInterfaceResult.cc
-	src/model/TagResourcesRequest.cc
-	src/model/TagResourcesResult.cc
-	src/model/RunInstancesRequest.cc
-	src/model/RunInstancesResult.cc
-	src/model/ModifyLaunchTemplateDefaultVersionRequest.cc
-	src/model/ModifyLaunchTemplateDefaultVersionResult.cc
-	src/model/CreateLaunchTemplateVersionRequest.cc
-	src/model/CreateLaunchTemplateVersionResult.cc
-	src/model/StopInvocationRequest.cc
-	src/model/StopInvocationResult.cc
-	src/model/ModifyInstanceNetworkSpecRequest.cc
-	src/model/ModifyInstanceNetworkSpecResult.cc
-	src/model/ModifyInstanceDeploymentRequest.cc
-	src/model/ModifyInstanceDeploymentResult.cc
-	src/model/ModifyDiskAttributeRequest.cc
-	src/model/ModifyDiskAttributeResult.cc
-	src/model/CreateVSwitchRequest.cc
-	src/model/CreateVSwitchResult.cc
-	src/model/DescribeBandwidthLimitationRequest.cc
-	src/model/DescribeBandwidthLimitationResult.cc
-	src/model/ModifyEipAddressAttributeRequest.cc
-	src/model/ModifyEipAddressAttributeResult.cc
-	src/model/ModifySecurityGroupAttributeRequest.cc
-	src/model/ModifySecurityGroupAttributeResult.cc
-	src/model/RemoveTagsRequest.cc
-	src/model/RemoveTagsResult.cc
-	src/model/RenewDedicatedHostsRequest.cc
-	src/model/RenewDedicatedHostsResult.cc
-	src/model/CancelSimulatedSystemEventsRequest.cc
-	src/model/CancelSimulatedSystemEventsResult.cc
-	src/model/ModifyInstanceAutoReleaseTimeRequest.cc
-	src/model/ModifyInstanceAutoReleaseTimeResult.cc
-	src/model/DeleteNatGatewayRequest.cc
-	src/model/DeleteNatGatewayResult.cc
-	src/model/DescribeZonesRequest.cc
-	src/model/DescribeZonesResult.cc
-	src/model/DeactivateRouterInterfaceRequest.cc
-	src/model/DeactivateRouterInterfaceResult.cc
-	src/model/DescribeAvailableResourceRequest.cc
-	src/model/DescribeAvailableResourceResult.cc
-	src/model/DescribeAccessPointsRequest.cc
-	src/model/DescribeAccessPointsResult.cc
-	src/model/CreateCommandRequest.cc
-	src/model/CreateCommandResult.cc
-	src/model/DescribeInstancesFullStatusRequest.cc
-	src/model/DescribeInstancesFullStatusResult.cc
-	src/model/DescribeDedicatedHostsRequest.cc
-	src/model/DescribeDedicatedHostsResult.cc
-	src/model/ReleaseEipAddressRequest.cc
-	src/model/ReleaseEipAddressResult.cc
-	src/model/DetachClassicLinkVpcRequest.cc
-	src/model/DetachClassicLinkVpcResult.cc
-	src/model/DescribeVSwitchesRequest.cc
-	src/model/DescribeVSwitchesResult.cc
-	src/model/ModifyRouterInterfaceSpecRequest.cc
-	src/model/ModifyRouterInterfaceSpecResult.cc
-	src/model/DescribeVpcsRequest.cc
-	src/model/DescribeVpcsResult.cc
-	src/model/ExportImageRequest.cc
-	src/model/ExportImageResult.cc
-	src/model/DescribeDiskMonitorDataRequest.cc
-	src/model/DescribeDiskMonitorDataResult.cc
-	src/model/ModifyDeploymentSetAttributeRequest.cc
-	src/model/ModifyDeploymentSetAttributeResult.cc
-	src/model/ModifyRouterInterfaceAttributeRequest.cc
-	src/model/ModifyRouterInterfaceAttributeResult.cc
-	src/model/DescribeVirtualBorderRoutersForPhysicalConnectionRequest.cc
-	src/model/DescribeVirtualBorderRoutersForPhysicalConnectionResult.cc
-	src/model/StartInstanceRequest.cc
-	src/model/StartInstanceResult.cc
-	src/model/CreateDiskRequest.cc
-	src/model/CreateDiskResult.cc
-	src/model/DescribeInstanceTypesRequest.cc
-	src/model/DescribeInstanceTypesResult.cc
-	src/model/DescribeSnapshotPackageRequest.cc
-	src/model/DescribeSnapshotPackageResult.cc
-	src/model/RebootInstanceRequest.cc
-	src/model/RebootInstanceResult.cc
-	src/model/InvokeCommandRequest.cc
-	src/model/InvokeCommandResult.cc
-	src/model/ModifyUserBusinessBehaviorRequest.cc
-	src/model/ModifyUserBusinessBehaviorResult.cc
-	src/model/DeleteForwardEntryRequest.cc
-	src/model/DeleteForwardEntryResult.cc
-	src/model/DescribeHpcClustersRequest.cc
-	src/model/DescribeHpcClustersResult.cc
-	src/model/AcceptInquiredSystemEventRequest.cc
-	src/model/AcceptInquiredSystemEventResult.cc
-	src/model/ModifyInstanceChargeTypeRequest.cc
-	src/model/ModifyInstanceChargeTypeResult.cc
-	src/model/ModifyInstanceAutoRenewAttributeRequest.cc
-	src/model/ModifyInstanceAutoRenewAttributeResult.cc
-	src/model/DescribeVirtualBorderRoutersRequest.cc
-	src/model/DescribeVirtualBorderRoutersResult.cc
-	src/model/ModifyDedicatedHostAutoReleaseTimeRequest.cc
-	src/model/ModifyDedicatedHostAutoReleaseTimeResult.cc
-	src/model/ModifyHpcClusterAttributeRequest.cc
-	src/model/ModifyHpcClusterAttributeResult.cc
-	src/model/DescribePriceRequest.cc
-	src/model/DescribePriceResult.cc
-	src/model/DescribeLimitationRequest.cc
-	src/model/DescribeLimitationResult.cc
-	src/model/DeleteDeploymentSetRequest.cc
-	src/model/DeleteDeploymentSetResult.cc
-	src/model/ModifyInstanceVpcAttributeRequest.cc
-	src/model/ModifyInstanceVpcAttributeResult.cc
-	src/model/ReleaseDedicatedHostRequest.cc
-	src/model/ReleaseDedicatedHostResult.cc
-	src/model/AddTagsRequest.cc
-	src/model/AddTagsResult.cc
-	src/model/CreateHpcClusterRequest.cc
-	src/model/CreateHpcClusterResult.cc
-	src/model/DescribeUserBusinessBehaviorRequest.cc
-	src/model/DescribeUserBusinessBehaviorResult.cc
-	src/model/DescribeCommandsRequest.cc
-	src/model/DescribeCommandsResult.cc
-	src/model/DeleteImageRequest.cc
-	src/model/DeleteImageResult.cc
-	src/model/DescribeNetworkInterfacePermissionsRequest.cc
-	src/model/DescribeNetworkInterfacePermissionsResult.cc
-	src/model/DescribeDisksRequest.cc
-	src/model/DescribeDisksResult.cc
-	src/model/DeleteVpcRequest.cc
-	src/model/DeleteVpcResult.cc
-	src/model/DeleteCommandRequest.cc
-	src/model/DeleteCommandResult.cc
-	src/model/DescribeImageSupportInstanceTypesRequest.cc
-	src/model/DescribeImageSupportInstanceTypesResult.cc
-	src/model/ReplaceSystemDiskRequest.cc
-	src/model/ReplaceSystemDiskResult.cc
-	src/model/DeleteVSwitchRequest.cc
-	src/model/DeleteVSwitchResult.cc
-	src/model/ModifyImageShareGroupPermissionRequest.cc
-	src/model/ModifyImageShareGroupPermissionResult.cc
-	src/model/DescribeInstanceVncUrlRequest.cc
-	src/model/DescribeInstanceVncUrlResult.cc
-	src/model/DescribeDemandsRequest.cc
-	src/model/DescribeDemandsResult.cc
-	src/model/RecoverVirtualBorderRouterRequest.cc
-	src/model/RecoverVirtualBorderRouterResult.cc
-	src/model/DescribeResourceByTagsRequest.cc
-	src/model/DescribeResourceByTagsResult.cc
-	src/model/DescribeClustersRequest.cc
-	src/model/DescribeClustersResult.cc
-	src/model/DescribeTagsRequest.cc
-	src/model/DescribeTagsResult.cc
-	src/model/DeleteBandwidthPackageRequest.cc
-	src/model/DeleteBandwidthPackageResult.cc
-	src/model/DescribeImagesRequest.cc
-	src/model/DescribeImagesResult.cc
-	src/model/AuthorizeSecurityGroupEgressRequest.cc
-	src/model/AuthorizeSecurityGroupEgressResult.cc
-	src/model/ImportImageRequest.cc
-	src/model/ImportImageResult.cc
-	src/model/ModifyForwardEntryRequest.cc
-	src/model/ModifyForwardEntryResult.cc
-	src/model/RenewInstanceRequest.cc
-	src/model/RenewInstanceResult.cc
-	src/model/CopyImageRequest.cc
-	src/model/CopyImageResult.cc
-	src/model/CreateVpcRequest.cc
-	src/model/CreateVpcResult.cc
-	src/model/DescribeInstanceMonitorDataRequest.cc
-	src/model/DescribeInstanceMonitorDataResult.cc
-	src/model/UnassociateEipAddressRequest.cc
-	src/model/UnassociateEipAddressResult.cc
-	src/model/CreateSnapshotRequest.cc
-	src/model/CreateSnapshotResult.cc
-	src/model/ModifyVirtualBorderRouterAttributeRequest.cc
-	src/model/ModifyVirtualBorderRouterAttributeResult.cc
-	src/model/DetachKeyPairRequest.cc
-	src/model/DetachKeyPairResult.cc
-	src/model/DescribeTasksRequest.cc
-	src/model/DescribeTasksResult.cc
-	src/model/DescribeRenewalPriceRequest.cc
-	src/model/DescribeRenewalPriceResult.cc
-	src/model/LeaveSecurityGroupRequest.cc
-	src/model/LeaveSecurityGroupResult.cc
-	src/model/UnassignPrivateIpAddressesRequest.cc
-	src/model/UnassignPrivateIpAddressesResult.cc
-	src/model/DescribeInstanceVncPasswdRequest.cc
-	src/model/DescribeInstanceVncPasswdResult.cc
-	src/model/DescribeInstanceAutoRenewAttributeRequest.cc
-	src/model/DescribeInstanceAutoRenewAttributeResult.cc
-	src/model/ModifySecurityGroupRuleRequest.cc
-	src/model/ModifySecurityGroupRuleResult.cc
-	src/model/DescribeResourcesModificationRequest.cc
-	src/model/DescribeResourcesModificationResult.cc
-	src/model/ImportKeyPairRequest.cc
-	src/model/ImportKeyPairResult.cc
-	src/model/DescribeNewProjectEipMonitorDataRequest.cc
-	src/model/DescribeNewProjectEipMonitorDataResult.cc
-	src/model/DeleteLaunchTemplateRequest.cc
-	src/model/DeleteLaunchTemplateResult.cc
-	src/model/DescribeInstanceRamRoleRequest.cc
-	src/model/DescribeInstanceRamRoleResult.cc
-	src/model/CreateImageRequest.cc
-	src/model/CreateImageResult.cc
-	src/model/DescribeHaVipsRequest.cc
-	src/model/DescribeHaVipsResult.cc
-	src/model/DescribeInstanceAttributeRequest.cc
-	src/model/DescribeInstanceAttributeResult.cc
-	src/model/DetachDiskRequest.cc
-	src/model/DetachDiskResult.cc
-	src/model/ModifyImageAttributeRequest.cc
-	src/model/ModifyImageAttributeResult.cc
-	src/model/DescribeInstanceStatusRequest.cc
-	src/model/DescribeInstanceStatusResult.cc
-	src/model/AddBandwidthPackageIpsRequest.cc
-	src/model/AddBandwidthPackageIpsResult.cc
-	src/model/DescribeNatGatewaysRequest.cc
-	src/model/DescribeNatGatewaysResult.cc
-	src/model/DeleteHpcClusterRequest.cc
-	src/model/DeleteHpcClusterResult.cc
-	src/model/ResetDiskRequest.cc
-	src/model/ResetDiskResult.cc
-	src/model/ModifyDiskChargeTypeRequest.cc
-	src/model/ModifyDiskChargeTypeResult.cc
-	src/model/DescribeBandwidthPackagesRequest.cc
-	src/model/DescribeBandwidthPackagesResult.cc
-	src/model/ApplyAutoSnapshotPolicyRequest.cc
-	src/model/ApplyAutoSnapshotPolicyResult.cc
-	src/model/CreateSecurityGroupRequest.cc
-	src/model/CreateSecurityGroupResult.cc
-	src/model/DescribeSnapshotLinksRequest.cc
-	src/model/DescribeSnapshotLinksResult.cc
-	src/model/DescribeInvocationResultsRequest.cc
-	src/model/DescribeInvocationResultsResult.cc
-	src/model/DescribeRecommendInstanceTypeRequest.cc
-	src/model/DescribeRecommendInstanceTypeResult.cc
-	src/model/DescribeDedicatedHostAutoRenewRequest.cc
-	src/model/DescribeDedicatedHostAutoRenewResult.cc
-	src/model/DeleteInstanceRequest.cc
-	src/model/DeleteInstanceResult.cc
-	src/model/CreateLaunchTemplateRequest.cc
-	src/model/CreateLaunchTemplateResult.cc
-	src/model/ListTagResourcesRequest.cc
-	src/model/ListTagResourcesResult.cc
-	src/model/ModifyVpcAttributeRequest.cc
-	src/model/ModifyVpcAttributeResult.cc
-	src/model/RemoveBandwidthPackageIpsRequest.cc
-	src/model/RemoveBandwidthPackageIpsResult.cc
-	src/model/CreateNetworkInterfacePermissionRequest.cc
-	src/model/CreateNetworkInterfacePermissionResult.cc
-	src/model/DescribeSnapshotsUsageRequest.cc
-	src/model/DescribeSnapshotsUsageResult.cc
-	src/model/CreateInstanceRequest.cc
-	src/model/CreateInstanceResult.cc
-	src/model/ModifySecurityGroupEgressRuleRequest.cc
-	src/model/ModifySecurityGroupEgressRuleResult.cc
-	src/model/DeleteAutoSnapshotPolicyRequest.cc
-	src/model/DeleteAutoSnapshotPolicyResult.cc
-	src/model/EnablePhysicalConnectionRequest.cc
-	src/model/EnablePhysicalConnectionResult.cc
-	src/model/DescribeInstanceTypeFamiliesRequest.cc
-	src/model/DescribeInstanceTypeFamiliesResult.cc
-	src/model/CreateForwardEntryRequest.cc
-	src/model/CreateForwardEntryResult.cc
-	src/model/DescribeRouterInterfacesRequest.cc
-	src/model/DescribeRouterInterfacesResult.cc
-	src/model/DescribeLaunchTemplatesRequest.cc
-	src/model/DescribeLaunchTemplatesResult.cc
-	src/model/EipNotifyPaidRequest.cc
-	src/model/EipNotifyPaidResult.cc
-	src/model/ReleasePublicIpAddressRequest.cc
-	src/model/ReleasePublicIpAddressResult.cc
-	src/model/CreateVirtualBorderRouterRequest.cc
-	src/model/CreateVirtualBorderRouterResult.cc
-	src/model/DescribeAccountAttributesRequest.cc
-	src/model/DescribeAccountAttributesResult.cc
-	src/model/EipFillParamsRequest.cc
-	src/model/EipFillParamsResult.cc
-	src/model/ModifyPrepayInstanceSpecRequest.cc
-	src/model/ModifyPrepayInstanceSpecResult.cc
-	src/model/EipFillProductRequest.cc
-	src/model/EipFillProductResult.cc
-	src/model/DescribeRouteTablesRequest.cc
-	src/model/DescribeRouteTablesResult.cc
-	src/model/ModifyAutoSnapshotPolicyExRequest.cc
-	src/model/ModifyAutoSnapshotPolicyExResult.cc
-	src/model/JoinResourceGroupRequest.cc
-	src/model/JoinResourceGroupResult.cc
-	src/model/DescribeUserDataRequest.cc
-	src/model/DescribeUserDataResult.cc
-	src/model/CreatePhysicalConnectionRequest.cc
-	src/model/CreatePhysicalConnectionResult.cc
-	src/model/DescribeKeyPairsRequest.cc
-	src/model/DescribeKeyPairsResult.cc
-	src/model/ModifySecurityGroupPolicyRequest.cc
-	src/model/ModifySecurityGroupPolicyResult.cc
-	src/model/AssociateHaVipRequest.cc
-	src/model/AssociateHaVipResult.cc
-	src/model/ConvertNatPublicIpToEipRequest.cc
-	src/model/ConvertNatPublicIpToEipResult.cc
-	src/model/AssignIpv6AddressesRequest.cc
-	src/model/AssignIpv6AddressesResult.cc
-	src/model/DescribeCloudAssistantStatusRequest.cc
-	src/model/DescribeCloudAssistantStatusResult.cc
-	src/model/DeleteRouteEntryRequest.cc
-	src/model/DeleteRouteEntryResult.cc
-	src/model/DeleteVirtualBorderRouterRequest.cc
-	src/model/DeleteVirtualBorderRouterResult.cc
-	src/model/UnassignIpv6AddressesRequest.cc
-	src/model/UnassignIpv6AddressesResult.cc
-	src/model/DescribeInstancePhysicalAttributeRequest.cc
-	src/model/DescribeInstancePhysicalAttributeResult.cc
-	src/model/TerminatePhysicalConnectionRequest.cc
-	src/model/TerminatePhysicalConnectionResult.cc
-	src/model/AttachNetworkInterfaceRequest.cc
-	src/model/AttachNetworkInterfaceResult.cc
-	src/model/DescribeSecurityGroupAttributeRequest.cc
-	src/model/DescribeSecurityGroupAttributeResult.cc
-	src/model/ModifyImageSharePermissionRequest.cc
-	src/model/ModifyImageSharePermissionResult.cc
-	src/model/DescribeAutoSnapshotPolicyExRequest.cc
-	src/model/DescribeAutoSnapshotPolicyExResult.cc
-	src/model/CancelCopyImageRequest.cc
-	src/model/CancelCopyImageResult.cc
-	src/model/DescribeImageSharePermissionRequest.cc
-	src/model/DescribeImageSharePermissionResult.cc
-	src/model/CreateDeploymentSetRequest.cc
-	src/model/CreateDeploymentSetResult.cc
-	src/model/DeleteLaunchTemplateVersionRequest.cc
-	src/model/DeleteLaunchTemplateVersionResult.cc
-	src/model/DescribeRegionsRequest.cc
-	src/model/DescribeRegionsResult.cc
-	src/model/DescribeClassicLinkInstancesRequest.cc
-	src/model/DescribeClassicLinkInstancesResult.cc
-	src/model/DescribePhysicalConnectionsRequest.cc
-	src/model/DescribePhysicalConnectionsResult.cc
-	src/model/ImportSnapshotRequest.cc
-	src/model/ImportSnapshotResult.cc
-	src/model/CreateNetworkInterfaceRequest.cc
-	src/model/CreateNetworkInterfaceResult.cc
-	src/model/DeleteNetworkInterfacePermissionRequest.cc
-	src/model/DeleteNetworkInterfacePermissionResult.cc
-	src/model/CancelPhysicalConnectionRequest.cc
-	src/model/CancelPhysicalConnectionResult.cc
-	src/model/DescribeVRoutersRequest.cc
-	src/model/DescribeVRoutersResult.cc
-	src/model/DescribeNetworkInterfacesRequest.cc
-	src/model/DescribeNetworkInterfacesResult.cc
-	src/model/DescribeLaunchTemplateVersionsRequest.cc
-	src/model/DescribeLaunchTemplateVersionsResult.cc
-	src/model/DetachNetworkInterfaceRequest.cc
-	src/model/DetachNetworkInterfaceResult.cc
-	src/model/ModifyNetworkInterfaceAttributeRequest.cc
-	src/model/ModifyNetworkInterfaceAttributeResult.cc
-	src/model/DeleteDiskRequest.cc
-	src/model/DeleteDiskResult.cc
-	src/model/AllocateEipAddressRequest.cc
-	src/model/AllocateEipAddressResult.cc
-	src/model/UnassociateHaVipRequest.cc
-	src/model/UnassociateHaVipResult.cc
-	src/model/ModifyHaVipAttributeRequest.cc
-	src/model/ModifyHaVipAttributeResult.cc
-	src/model/CreateKeyPairRequest.cc
-	src/model/CreateKeyPairResult.cc
-	src/model/DescribeDeploymentSetsRequest.cc
-	src/model/DescribeDeploymentSetsResult.cc
-	src/model/AttachClassicLinkVpcRequest.cc
-	src/model/AttachClassicLinkVpcResult.cc
-	src/model/GetInstanceScreenshotRequest.cc
-	src/model/GetInstanceScreenshotResult.cc
-	src/model/AttachInstanceRamRoleRequest.cc
-	src/model/AttachInstanceRamRoleResult.cc
-	src/model/InstallCloudAssistantRequest.cc
-	src/model/InstallCloudAssistantResult.cc
-	src/model/ModifyVRouterAttributeRequest.cc
-	src/model/ModifyVRouterAttributeResult.cc )
+	src/EcsClient.cc )
 
 add_library(ecs ${LIB_TYPE}
 	${ecs_public_header}

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

@@ -50,6 +50,8 @@
 #include "model/CreateHaVipResult.h"
 #include "model/ModifyAutoSnapshotPolicyRequest.h"
 #include "model/ModifyAutoSnapshotPolicyResult.h"
+#include "model/PurchaseReservedInstancesOfferingRequest.h"
+#include "model/PurchaseReservedInstancesOfferingResult.h"
 #include "model/AssociateEipAddressRequest.h"
 #include "model/AssociateEipAddressResult.h"
 #include "model/RevokeSecurityGroupEgressRequest.h"
@@ -96,6 +98,8 @@
 #include "model/ModifyDedicatedHostAutoRenewAttributeResult.h"
 #include "model/DescribeEipMonitorDataRequest.h"
 #include "model/DescribeEipMonitorDataResult.h"
+#include "model/ModifyReservedInstancesRequest.h"
+#include "model/ModifyReservedInstancesResult.h"
 #include "model/DescribeDisksFullStatusRequest.h"
 #include "model/DescribeDisksFullStatusResult.h"
 #include "model/CancelAutoSnapshotPolicyRequest.h"
@@ -410,6 +414,8 @@
 #include "model/CreateForwardEntryResult.h"
 #include "model/DescribeRouterInterfacesRequest.h"
 #include "model/DescribeRouterInterfacesResult.h"
+#include "model/DescribeReservedInstancesRequest.h"
+#include "model/DescribeReservedInstancesResult.h"
 #include "model/DescribeLaunchTemplatesRequest.h"
 #include "model/DescribeLaunchTemplatesResult.h"
 #include "model/EipNotifyPaidRequest.h"
@@ -571,6 +577,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyAutoSnapshotPolicyResult> ModifyAutoSnapshotPolicyOutcome;
 			typedef std::future<ModifyAutoSnapshotPolicyOutcome> ModifyAutoSnapshotPolicyOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyAutoSnapshotPolicyRequest&, const ModifyAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAutoSnapshotPolicyAsyncHandler;
+			typedef Outcome<Error, Model::PurchaseReservedInstancesOfferingResult> PurchaseReservedInstancesOfferingOutcome;
+			typedef std::future<PurchaseReservedInstancesOfferingOutcome> PurchaseReservedInstancesOfferingOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::PurchaseReservedInstancesOfferingRequest&, const PurchaseReservedInstancesOfferingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PurchaseReservedInstancesOfferingAsyncHandler;
 			typedef Outcome<Error, Model::AssociateEipAddressResult> AssociateEipAddressOutcome;
 			typedef std::future<AssociateEipAddressOutcome> AssociateEipAddressOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::AssociateEipAddressRequest&, const AssociateEipAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AssociateEipAddressAsyncHandler;
@@ -640,6 +649,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeEipMonitorDataResult> DescribeEipMonitorDataOutcome;
 			typedef std::future<DescribeEipMonitorDataOutcome> DescribeEipMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeEipMonitorDataRequest&, const DescribeEipMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEipMonitorDataAsyncHandler;
+			typedef Outcome<Error, Model::ModifyReservedInstancesResult> ModifyReservedInstancesOutcome;
+			typedef std::future<ModifyReservedInstancesOutcome> ModifyReservedInstancesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyReservedInstancesRequest&, const ModifyReservedInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyReservedInstancesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDisksFullStatusResult> DescribeDisksFullStatusOutcome;
 			typedef std::future<DescribeDisksFullStatusOutcome> DescribeDisksFullStatusOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeDisksFullStatusRequest&, const DescribeDisksFullStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDisksFullStatusAsyncHandler;
@@ -1111,6 +1123,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeRouterInterfacesResult> DescribeRouterInterfacesOutcome;
 			typedef std::future<DescribeRouterInterfacesOutcome> DescribeRouterInterfacesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeRouterInterfacesRequest&, const DescribeRouterInterfacesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRouterInterfacesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeReservedInstancesResult> DescribeReservedInstancesOutcome;
+			typedef std::future<DescribeReservedInstancesOutcome> DescribeReservedInstancesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeReservedInstancesRequest&, const DescribeReservedInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeReservedInstancesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLaunchTemplatesResult> DescribeLaunchTemplatesOutcome;
 			typedef std::future<DescribeLaunchTemplatesOutcome> DescribeLaunchTemplatesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeLaunchTemplatesRequest&, const DescribeLaunchTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLaunchTemplatesAsyncHandler;
@@ -1323,6 +1338,9 @@ namespace AlibabaCloud
 			ModifyAutoSnapshotPolicyOutcome modifyAutoSnapshotPolicy(const Model::ModifyAutoSnapshotPolicyRequest &request)const;
 			void modifyAutoSnapshotPolicyAsync(const Model::ModifyAutoSnapshotPolicyRequest& request, const ModifyAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyAutoSnapshotPolicyOutcomeCallable modifyAutoSnapshotPolicyCallable(const Model::ModifyAutoSnapshotPolicyRequest& request) const;
+			PurchaseReservedInstancesOfferingOutcome purchaseReservedInstancesOffering(const Model::PurchaseReservedInstancesOfferingRequest &request)const;
+			void purchaseReservedInstancesOfferingAsync(const Model::PurchaseReservedInstancesOfferingRequest& request, const PurchaseReservedInstancesOfferingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PurchaseReservedInstancesOfferingOutcomeCallable purchaseReservedInstancesOfferingCallable(const Model::PurchaseReservedInstancesOfferingRequest& request) const;
 			AssociateEipAddressOutcome associateEipAddress(const Model::AssociateEipAddressRequest &request)const;
 			void associateEipAddressAsync(const Model::AssociateEipAddressRequest& request, const AssociateEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AssociateEipAddressOutcomeCallable associateEipAddressCallable(const Model::AssociateEipAddressRequest& request) const;
@@ -1392,6 +1410,9 @@ namespace AlibabaCloud
 			DescribeEipMonitorDataOutcome describeEipMonitorData(const Model::DescribeEipMonitorDataRequest &request)const;
 			void describeEipMonitorDataAsync(const Model::DescribeEipMonitorDataRequest& request, const DescribeEipMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeEipMonitorDataOutcomeCallable describeEipMonitorDataCallable(const Model::DescribeEipMonitorDataRequest& request) const;
+			ModifyReservedInstancesOutcome modifyReservedInstances(const Model::ModifyReservedInstancesRequest &request)const;
+			void modifyReservedInstancesAsync(const Model::ModifyReservedInstancesRequest& request, const ModifyReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyReservedInstancesOutcomeCallable modifyReservedInstancesCallable(const Model::ModifyReservedInstancesRequest& request) const;
 			DescribeDisksFullStatusOutcome describeDisksFullStatus(const Model::DescribeDisksFullStatusRequest &request)const;
 			void describeDisksFullStatusAsync(const Model::DescribeDisksFullStatusRequest& request, const DescribeDisksFullStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDisksFullStatusOutcomeCallable describeDisksFullStatusCallable(const Model::DescribeDisksFullStatusRequest& request) const;
@@ -1863,6 +1884,9 @@ namespace AlibabaCloud
 			DescribeRouterInterfacesOutcome describeRouterInterfaces(const Model::DescribeRouterInterfacesRequest &request)const;
 			void describeRouterInterfacesAsync(const Model::DescribeRouterInterfacesRequest& request, const DescribeRouterInterfacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRouterInterfacesOutcomeCallable describeRouterInterfacesCallable(const Model::DescribeRouterInterfacesRequest& request) const;
+			DescribeReservedInstancesOutcome describeReservedInstances(const Model::DescribeReservedInstancesRequest &request)const;
+			void describeReservedInstancesAsync(const Model::DescribeReservedInstancesRequest& request, const DescribeReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeReservedInstancesOutcomeCallable describeReservedInstancesCallable(const Model::DescribeReservedInstancesRequest& request) const;
 			DescribeLaunchTemplatesOutcome describeLaunchTemplates(const Model::DescribeLaunchTemplatesRequest &request)const;
 			void describeLaunchTemplatesAsync(const Model::DescribeLaunchTemplatesRequest& request, const DescribeLaunchTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLaunchTemplatesOutcomeCallable describeLaunchTemplatesCallable(const Model::DescribeLaunchTemplatesRequest& request) const;

+ 147 - 0
ecs/include/alibabacloud/ecs/model/DescribeReservedInstancesRequest.h

@@ -0,0 +1,147 @@
+/*
+ * 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_DESCRIBERESERVEDINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBERESERVEDINSTANCESREQUEST_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 DescribeReservedInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeReservedInstancesRequest();
+				~DescribeReservedInstancesRequest();
+
+				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 getLockReason()const;
+				void setLockReason(const std::string& lockReason);
+				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 getScope()const;
+				void setScope(const std::string& scope);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				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 getInstanceTypeFamily()const;
+				void setInstanceTypeFamily(const std::string& instanceTypeFamily);
+				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> getReservedInstanceId()const;
+				void setReservedInstanceId(const std::vector<std::string>& reservedInstanceId);
+				std::string getOfferingType()const;
+				void setOfferingType(const std::string& offeringType);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getReservedInstanceName()const;
+				void setReservedInstanceName(const std::string& reservedInstanceName);
+				std::vector<std::string> getStatus()const;
+				void setStatus(const std::vector<std::string>& status);
+
+            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 lockReason_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string scope_;
+				int pageSize_;
+				std::string callerBidEmail_;
+				std::string instanceType_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string instanceTypeFamily_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::vector<std::string> reservedInstanceId_;
+				std::string offeringType_;
+				std::string requestId_;
+				std::string zoneId_;
+				std::string reservedInstanceName_;
+				std::vector<std::string> status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBERESERVEDINSTANCESREQUEST_H_

+ 79 - 0
ecs/include/alibabacloud/ecs/model/DescribeReservedInstancesResult.h

@@ -0,0 +1,79 @@
+/*
+ * 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_DESCRIBERESERVEDINSTANCESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBERESERVEDINSTANCESRESULT_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 DescribeReservedInstancesResult : public ServiceResult
+			{
+			public:
+				struct ReservedInstance
+				{
+					struct OperationLock
+					{
+						std::string lockReason;
+					};
+					std::string status;
+					std::string description;
+					std::string zoneId;
+					std::string resourceGroupId;
+					std::string startTime;
+					std::vector<ReservedInstance::OperationLock> operationLocks;
+					std::string offeringType;
+					int instanceAmount;
+					std::string scope;
+					std::string expiredTime;
+					std::string creationTime;
+					std::string reservedInstanceId;
+					std::string regionId;
+					std::string reservedInstanceName;
+					std::string instanceType;
+				};
+
+
+				DescribeReservedInstancesResult();
+				explicit DescribeReservedInstancesResult(const std::string &payload);
+				~DescribeReservedInstancesResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<ReservedInstance> getReservedInstances()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<ReservedInstance> reservedInstances_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBERESERVEDINSTANCESRESULT_H_

+ 128 - 0
ecs/include/alibabacloud/ecs/model/ModifyReservedInstancesRequest.h

@@ -0,0 +1,128 @@
+/*
+ * 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_MODIFYRESERVEDINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCESREQUEST_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 ModifyReservedInstancesRequest : public RpcServiceRequest
+			{
+				struct Configuration
+				{
+					std::string zoneId;
+					std::string reservedInstanceName;
+					std::string instanceType;
+					std::string scope;
+					int instanceAmount;
+				};
+
+			public:
+				ModifyReservedInstancesRequest();
+				~ModifyReservedInstancesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::vector<Configuration> getConfiguration()const;
+				void setConfiguration(const std::vector<Configuration>& configuration);
+				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);
+				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> getReservedInstanceId()const;
+				void setReservedInstanceId(const std::vector<std::string>& reservedInstanceId);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				std::vector<Configuration> configuration_;
+				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_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::vector<std::string> reservedInstanceId_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCESREQUEST_H_

+ 51 - 0
ecs/include/alibabacloud/ecs/model/ModifyReservedInstancesResult.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_MODIFYRESERVEDINSTANCESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCESRESULT_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 ModifyReservedInstancesResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyReservedInstancesResult();
+				explicit ModifyReservedInstancesResult(const std::string &payload);
+				~ModifyReservedInstancesResult();
+				std::vector<std::string> getReservedInstanceIdSets()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> reservedInstanceIdSets_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYRESERVEDINSTANCESRESULT_H_

+ 147 - 0
ecs/include/alibabacloud/ecs/model/PurchaseReservedInstancesOfferingRequest.h

@@ -0,0 +1,147 @@
+/*
+ * 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_PURCHASERESERVEDINSTANCESOFFERINGREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_PURCHASERESERVEDINSTANCESOFFERINGREQUEST_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 PurchaseReservedInstancesOfferingRequest : public RpcServiceRequest
+			{
+
+			public:
+				PurchaseReservedInstancesOfferingRequest();
+				~PurchaseReservedInstancesOfferingRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string 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 getScope()const;
+				void setScope(const std::string& scope);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				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);
+				int getPeriod()const;
+				void setPeriod(int period);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				std::string getOfferingType()const;
+				void setOfferingType(const std::string& offeringType);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getReservedInstanceName()const;
+				void setReservedInstanceName(const std::string& reservedInstanceName);
+				int getInstanceAmount()const;
+				void setInstanceAmount(int instanceAmount);
+
+            private:
+				long resourceOwnerId_;
+				std::string clientToken_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string scope_;
+				std::string callerBidEmail_;
+				std::string instanceType_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				int period_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string periodUnit_;
+				std::string offeringType_;
+				std::string requestId_;
+				std::string zoneId_;
+				std::string reservedInstanceName_;
+				int instanceAmount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_PURCHASERESERVEDINSTANCESOFFERINGREQUEST_H_

+ 51 - 0
ecs/include/alibabacloud/ecs/model/PurchaseReservedInstancesOfferingResult.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_PURCHASERESERVEDINSTANCESOFFERINGRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_PURCHASERESERVEDINSTANCESOFFERINGRESULT_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 PurchaseReservedInstancesOfferingResult : public ServiceResult
+			{
+			public:
+
+
+				PurchaseReservedInstancesOfferingResult();
+				explicit PurchaseReservedInstancesOfferingResult(const std::string &payload);
+				~PurchaseReservedInstancesOfferingResult();
+				std::vector<std::string> getReservedInstanceIdSets()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> reservedInstanceIdSets_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_PURCHASERESERVEDINSTANCESOFFERINGRESULT_H_

+ 108 - 0
ecs/src/EcsClient.cc

@@ -555,6 +555,42 @@ EcsClient::ModifyAutoSnapshotPolicyOutcomeCallable EcsClient::modifyAutoSnapshot
 	return task->get_future();
 }
 
+EcsClient::PurchaseReservedInstancesOfferingOutcome EcsClient::purchaseReservedInstancesOffering(const PurchaseReservedInstancesOfferingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return PurchaseReservedInstancesOfferingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return PurchaseReservedInstancesOfferingOutcome(PurchaseReservedInstancesOfferingResult(outcome.result()));
+	else
+		return PurchaseReservedInstancesOfferingOutcome(outcome.error());
+}
+
+void EcsClient::purchaseReservedInstancesOfferingAsync(const PurchaseReservedInstancesOfferingRequest& request, const PurchaseReservedInstancesOfferingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, purchaseReservedInstancesOffering(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::PurchaseReservedInstancesOfferingOutcomeCallable EcsClient::purchaseReservedInstancesOfferingCallable(const PurchaseReservedInstancesOfferingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<PurchaseReservedInstancesOfferingOutcome()>>(
+			[this, request]()
+			{
+			return this->purchaseReservedInstancesOffering(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::AssociateEipAddressOutcome EcsClient::associateEipAddress(const AssociateEipAddressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1383,6 +1419,42 @@ EcsClient::DescribeEipMonitorDataOutcomeCallable EcsClient::describeEipMonitorDa
 	return task->get_future();
 }
 
+EcsClient::ModifyReservedInstancesOutcome EcsClient::modifyReservedInstances(const ModifyReservedInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyReservedInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyReservedInstancesOutcome(ModifyReservedInstancesResult(outcome.result()));
+	else
+		return ModifyReservedInstancesOutcome(outcome.error());
+}
+
+void EcsClient::modifyReservedInstancesAsync(const ModifyReservedInstancesRequest& request, const ModifyReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyReservedInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyReservedInstancesOutcomeCallable EcsClient::modifyReservedInstancesCallable(const ModifyReservedInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyReservedInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyReservedInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeDisksFullStatusOutcome EcsClient::describeDisksFullStatus(const DescribeDisksFullStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7035,6 +7107,42 @@ EcsClient::DescribeRouterInterfacesOutcomeCallable EcsClient::describeRouterInte
 	return task->get_future();
 }
 
+EcsClient::DescribeReservedInstancesOutcome EcsClient::describeReservedInstances(const DescribeReservedInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeReservedInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeReservedInstancesOutcome(DescribeReservedInstancesResult(outcome.result()));
+	else
+		return DescribeReservedInstancesOutcome(outcome.error());
+}
+
+void EcsClient::describeReservedInstancesAsync(const DescribeReservedInstancesRequest& request, const DescribeReservedInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeReservedInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeReservedInstancesOutcomeCallable EcsClient::describeReservedInstancesCallable(const DescribeReservedInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeReservedInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeReservedInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeLaunchTemplatesOutcome EcsClient::describeLaunchTemplates(const DescribeLaunchTemplatesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 403 - 0
ecs/src/model/DescribeReservedInstancesRequest.cc

@@ -0,0 +1,403 @@
+/*
+ * 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/DescribeReservedInstancesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeReservedInstancesRequest;
+
+DescribeReservedInstancesRequest::DescribeReservedInstancesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeReservedInstances")
+{}
+
+DescribeReservedInstancesRequest::~DescribeReservedInstancesRequest()
+{}
+
+long DescribeReservedInstancesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeReservedInstancesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeReservedInstancesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeReservedInstancesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeReservedInstancesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeReservedInstancesRequest::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 DescribeReservedInstancesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeReservedInstancesRequest::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 DescribeReservedInstancesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeReservedInstancesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeReservedInstancesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeReservedInstancesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+int DescribeReservedInstancesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeReservedInstancesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setCoreParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeReservedInstancesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeReservedInstancesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeReservedInstancesRequest::getLockReason()const
+{
+	return lockReason_;
+}
+
+void DescribeReservedInstancesRequest::setLockReason(const std::string& lockReason)
+{
+	lockReason_ = lockReason;
+	setCoreParameter("LockReason", lockReason);
+}
+
+std::string DescribeReservedInstancesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeReservedInstancesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeReservedInstancesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeReservedInstancesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool DescribeReservedInstancesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeReservedInstancesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string DescribeReservedInstancesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeReservedInstancesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string DescribeReservedInstancesRequest::getScope()const
+{
+	return scope_;
+}
+
+void DescribeReservedInstancesRequest::setScope(const std::string& scope)
+{
+	scope_ = scope;
+	setCoreParameter("Scope", scope);
+}
+
+int DescribeReservedInstancesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeReservedInstancesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeReservedInstancesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeReservedInstancesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeReservedInstancesRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void DescribeReservedInstancesRequest::setInstanceType(const std::string& instanceType)
+{
+	instanceType_ = instanceType;
+	setCoreParameter("InstanceType", instanceType);
+}
+
+std::string DescribeReservedInstancesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeReservedInstancesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeReservedInstancesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeReservedInstancesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeReservedInstancesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeReservedInstancesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeReservedInstancesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeReservedInstancesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeReservedInstancesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeReservedInstancesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeReservedInstancesRequest::getInstanceTypeFamily()const
+{
+	return instanceTypeFamily_;
+}
+
+void DescribeReservedInstancesRequest::setInstanceTypeFamily(const std::string& instanceTypeFamily)
+{
+	instanceTypeFamily_ = instanceTypeFamily;
+	setCoreParameter("InstanceTypeFamily", instanceTypeFamily);
+}
+
+std::string DescribeReservedInstancesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeReservedInstancesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeReservedInstancesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeReservedInstancesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool DescribeReservedInstancesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeReservedInstancesRequest::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 DescribeReservedInstancesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeReservedInstancesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeReservedInstancesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeReservedInstancesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::vector<std::string> DescribeReservedInstancesRequest::getReservedInstanceId()const
+{
+	return reservedInstanceId_;
+}
+
+void DescribeReservedInstancesRequest::setReservedInstanceId(const std::vector<std::string>& reservedInstanceId)
+{
+	reservedInstanceId_ = reservedInstanceId;
+	for(int i = 0; i!= reservedInstanceId.size(); i++)
+		setCoreParameter("ReservedInstanceId."+ std::to_string(i), reservedInstanceId.at(i));
+}
+
+std::string DescribeReservedInstancesRequest::getOfferingType()const
+{
+	return offeringType_;
+}
+
+void DescribeReservedInstancesRequest::setOfferingType(const std::string& offeringType)
+{
+	offeringType_ = offeringType;
+	setCoreParameter("OfferingType", offeringType);
+}
+
+std::string DescribeReservedInstancesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeReservedInstancesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string DescribeReservedInstancesRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void DescribeReservedInstancesRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setCoreParameter("ZoneId", zoneId);
+}
+
+std::string DescribeReservedInstancesRequest::getReservedInstanceName()const
+{
+	return reservedInstanceName_;
+}
+
+void DescribeReservedInstancesRequest::setReservedInstanceName(const std::string& reservedInstanceName)
+{
+	reservedInstanceName_ = reservedInstanceName;
+	setCoreParameter("ReservedInstanceName", reservedInstanceName);
+}
+
+std::vector<std::string> DescribeReservedInstancesRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeReservedInstancesRequest::setStatus(const std::vector<std::string>& status)
+{
+	status_ = status;
+	for(int i = 0; i!= status.size(); i++)
+		setCoreParameter("Status."+ std::to_string(i), status.at(i));
+}
+

+ 113 - 0
ecs/src/model/DescribeReservedInstancesResult.cc

@@ -0,0 +1,113 @@
+/*
+ * 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/DescribeReservedInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeReservedInstancesResult::DescribeReservedInstancesResult() :
+	ServiceResult()
+{}
+
+DescribeReservedInstancesResult::DescribeReservedInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeReservedInstancesResult::~DescribeReservedInstancesResult()
+{}
+
+void DescribeReservedInstancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allReservedInstances = value["ReservedInstances"]["ReservedInstance"];
+	for (auto value : allReservedInstances)
+	{
+		ReservedInstance reservedInstancesObject;
+		if(!value["ReservedInstanceId"].isNull())
+			reservedInstancesObject.reservedInstanceId = value["ReservedInstanceId"].asString();
+		if(!value["RegionId"].isNull())
+			reservedInstancesObject.regionId = value["RegionId"].asString();
+		if(!value["ZoneId"].isNull())
+			reservedInstancesObject.zoneId = value["ZoneId"].asString();
+		if(!value["ReservedInstanceName"].isNull())
+			reservedInstancesObject.reservedInstanceName = value["ReservedInstanceName"].asString();
+		if(!value["Description"].isNull())
+			reservedInstancesObject.description = value["Description"].asString();
+		if(!value["InstanceType"].isNull())
+			reservedInstancesObject.instanceType = value["InstanceType"].asString();
+		if(!value["Scope"].isNull())
+			reservedInstancesObject.scope = value["Scope"].asString();
+		if(!value["OfferingType"].isNull())
+			reservedInstancesObject.offeringType = value["OfferingType"].asString();
+		if(!value["InstanceAmount"].isNull())
+			reservedInstancesObject.instanceAmount = std::stoi(value["InstanceAmount"].asString());
+		if(!value["Status"].isNull())
+			reservedInstancesObject.status = value["Status"].asString();
+		if(!value["CreationTime"].isNull())
+			reservedInstancesObject.creationTime = value["CreationTime"].asString();
+		if(!value["ExpiredTime"].isNull())
+			reservedInstancesObject.expiredTime = value["ExpiredTime"].asString();
+		if(!value["StartTime"].isNull())
+			reservedInstancesObject.startTime = value["StartTime"].asString();
+		if(!value["ResourceGroupId"].isNull())
+			reservedInstancesObject.resourceGroupId = value["ResourceGroupId"].asString();
+		auto allOperationLocks = value["OperationLocks"]["OperationLock"];
+		for (auto value : allOperationLocks)
+		{
+			ReservedInstance::OperationLock operationLocksObject;
+			if(!value["LockReason"].isNull())
+				operationLocksObject.lockReason = value["LockReason"].asString();
+			reservedInstancesObject.operationLocks.push_back(operationLocksObject);
+		}
+		reservedInstances_.push_back(reservedInstancesObject);
+	}
+	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 DescribeReservedInstancesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeReservedInstancesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeReservedInstancesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeReservedInstancesResult::ReservedInstance> DescribeReservedInstancesResult::getReservedInstances()const
+{
+	return reservedInstances_;
+}
+

+ 312 - 0
ecs/src/model/ModifyReservedInstancesRequest.cc

@@ -0,0 +1,312 @@
+/*
+ * 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/ModifyReservedInstancesRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyReservedInstancesRequest;
+
+ModifyReservedInstancesRequest::ModifyReservedInstancesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyReservedInstances")
+{}
+
+ModifyReservedInstancesRequest::~ModifyReservedInstancesRequest()
+{}
+
+long ModifyReservedInstancesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyReservedInstancesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::vector<ModifyReservedInstancesRequest::Configuration> ModifyReservedInstancesRequest::getConfiguration()const
+{
+	return configuration_;
+}
+
+void ModifyReservedInstancesRequest::setConfiguration(const std::vector<Configuration>& configuration)
+{
+	configuration_ = configuration;
+	int i = 0;
+	for(int i = 0; i!= configuration.size(); i++)	{
+		auto obj = configuration.at(i);
+		std::string str ="Configuration."+ std::to_string(i);
+		setCoreParameter(str + ".ZoneId", obj.zoneId);
+		setCoreParameter(str + ".ReservedInstanceName", obj.reservedInstanceName);
+		setCoreParameter(str + ".InstanceType", obj.instanceType);
+		setCoreParameter(str + ".Scope", obj.scope);
+		setCoreParameter(str + ".InstanceAmount", std::to_string(obj.instanceAmount));
+	}
+}
+
+long ModifyReservedInstancesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ModifyReservedInstancesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ModifyReservedInstancesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ModifyReservedInstancesRequest::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 ModifyReservedInstancesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ModifyReservedInstancesRequest::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 ModifyReservedInstancesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ModifyReservedInstancesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ModifyReservedInstancesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ModifyReservedInstancesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string ModifyReservedInstancesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyReservedInstancesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ModifyReservedInstancesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ModifyReservedInstancesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string ModifyReservedInstancesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyReservedInstancesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool ModifyReservedInstancesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ModifyReservedInstancesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string ModifyReservedInstancesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ModifyReservedInstancesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string ModifyReservedInstancesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ModifyReservedInstancesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ModifyReservedInstancesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ModifyReservedInstancesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ModifyReservedInstancesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ModifyReservedInstancesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ModifyReservedInstancesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ModifyReservedInstancesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string ModifyReservedInstancesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyReservedInstancesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyReservedInstancesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyReservedInstancesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyReservedInstancesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ModifyReservedInstancesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long ModifyReservedInstancesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyReservedInstancesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ModifyReservedInstancesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ModifyReservedInstancesRequest::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 ModifyReservedInstancesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ModifyReservedInstancesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool ModifyReservedInstancesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ModifyReservedInstancesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::vector<std::string> ModifyReservedInstancesRequest::getReservedInstanceId()const
+{
+	return reservedInstanceId_;
+}
+
+void ModifyReservedInstancesRequest::setReservedInstanceId(const std::vector<std::string>& reservedInstanceId)
+{
+	reservedInstanceId_ = reservedInstanceId;
+	for(int i = 0; i!= reservedInstanceId.size(); i++)
+		setCoreParameter("ReservedInstanceId."+ std::to_string(i), reservedInstanceId.at(i));
+}
+
+std::string ModifyReservedInstancesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ModifyReservedInstancesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+

+ 53 - 0
ecs/src/model/ModifyReservedInstancesResult.cc

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

+ 401 - 0
ecs/src/model/PurchaseReservedInstancesOfferingRequest.cc

@@ -0,0 +1,401 @@
+/*
+ * 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/PurchaseReservedInstancesOfferingRequest.h>
+
+using AlibabaCloud::Ecs::Model::PurchaseReservedInstancesOfferingRequest;
+
+PurchaseReservedInstancesOfferingRequest::PurchaseReservedInstancesOfferingRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "PurchaseReservedInstancesOffering")
+{}
+
+PurchaseReservedInstancesOfferingRequest::~PurchaseReservedInstancesOfferingRequest()
+{}
+
+long PurchaseReservedInstancesOfferingRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setCoreParameter("ClientToken", clientToken);
+}
+
+long PurchaseReservedInstancesOfferingRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool PurchaseReservedInstancesOfferingRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::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 PurchaseReservedInstancesOfferingRequest::getDescription()const
+{
+	return description_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setCoreParameter("Description", description);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::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 PurchaseReservedInstancesOfferingRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setCoreParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+bool PurchaseReservedInstancesOfferingRequest::getEnable()const
+{
+	return enable_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setCoreParameter("Enable", enable ? "true" : "false");
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getScope()const
+{
+	return scope_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setScope(const std::string& scope)
+{
+	scope_ = scope;
+	setCoreParameter("Scope", scope);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setInstanceType(const std::string& instanceType)
+{
+	instanceType_ = instanceType;
+	setCoreParameter("InstanceType", instanceType);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long PurchaseReservedInstancesOfferingRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+int PurchaseReservedInstancesOfferingRequest::getPeriod()const
+{
+	return period_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setPeriod(int period)
+{
+	period_ = period;
+	setCoreParameter("Period", std::to_string(period));
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long PurchaseReservedInstancesOfferingRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool PurchaseReservedInstancesOfferingRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::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 PurchaseReservedInstancesOfferingRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool PurchaseReservedInstancesOfferingRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setCoreParameter("PeriodUnit", periodUnit);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getOfferingType()const
+{
+	return offeringType_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setOfferingType(const std::string& offeringType)
+{
+	offeringType_ = offeringType;
+	setCoreParameter("OfferingType", offeringType);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setCoreParameter("ZoneId", zoneId);
+}
+
+std::string PurchaseReservedInstancesOfferingRequest::getReservedInstanceName()const
+{
+	return reservedInstanceName_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setReservedInstanceName(const std::string& reservedInstanceName)
+{
+	reservedInstanceName_ = reservedInstanceName;
+	setCoreParameter("ReservedInstanceName", reservedInstanceName);
+}
+
+int PurchaseReservedInstancesOfferingRequest::getInstanceAmount()const
+{
+	return instanceAmount_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setInstanceAmount(int instanceAmount)
+{
+	instanceAmount_ = instanceAmount;
+	setCoreParameter("InstanceAmount", std::to_string(instanceAmount));
+}
+

+ 53 - 0
ecs/src/model/PurchaseReservedInstancesOfferingResult.cc

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