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

ECS SDK Auto Released By Alibaba Cloud,Version:1.14.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 лет назад
Родитель
Сommit
b1d844c587
84 измененных файлов с 5960 добавлено и 4447 удалено
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 32 48
      ecs/CMakeLists.txt
  4. 64 96
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 0 66
      ecs/include/alibabacloud/ecs/model/AttachVolumeRequest.h
  6. 36 3
      ecs/include/alibabacloud/ecs/model/CreateKeyPairRequest.h
  7. 248 0
      ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateRequest.h
  8. 9 7
      ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateResult.h
  9. 251 0
      ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateVersionRequest.h
  10. 9 9
      ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateVersionResult.h
  11. 3 0
      ecs/include/alibabacloud/ecs/model/CreateSecurityGroupRequest.h
  12. 0 114
      ecs/include/alibabacloud/ecs/model/CreateVolumeRequest.h
  13. 18 18
      ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateRequest.h
  14. 7 7
      ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateResult.h
  15. 21 18
      ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionRequest.h
  16. 7 9
      ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionResult.h
  17. 0 63
      ecs/include/alibabacloud/ecs/model/DeleteVolumeRequest.h
  18. 0 49
      ecs/include/alibabacloud/ecs/model/DeleteVolumeResult.h
  19. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeDisksFullStatusResult.h
  20. 39 6
      ecs/include/alibabacloud/ecs/model/DescribeKeyPairsRequest.h
  21. 144 0
      ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsRequest.h
  22. 130 0
      ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsResult.h
  23. 129 0
      ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplatesRequest.h
  24. 67 0
      ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplatesResult.h
  25. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsRequest.h
  26. 0 123
      ecs/include/alibabacloud/ecs/model/DescribeVolumesRequest.h
  27. 0 94
      ecs/include/alibabacloud/ecs/model/DescribeVolumesResult.h
  28. 0 66
      ecs/include/alibabacloud/ecs/model/DetachVolumeRequest.h
  29. 0 49
      ecs/include/alibabacloud/ecs/model/DetachVolumeResult.h
  30. 21 12
      ecs/include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionRequest.h
  31. 7 9
      ecs/include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionResult.h
  32. 0 51
      ecs/include/alibabacloud/ecs/model/ModifyUserEventAttributeResult.h
  33. 0 69
      ecs/include/alibabacloud/ecs/model/ModifyVolumeAttributeRequest.h
  34. 0 49
      ecs/include/alibabacloud/ecs/model/ModifyVolumeAttributeResult.h
  35. 0 66
      ecs/include/alibabacloud/ecs/model/ReInitVolumeRequest.h
  36. 0 69
      ecs/include/alibabacloud/ecs/model/ResizeVolumeRequest.h
  37. 0 49
      ecs/include/alibabacloud/ecs/model/ResizeVolumeResult.h
  38. 0 66
      ecs/include/alibabacloud/ecs/model/RollbackVolumeRequest.h
  39. 0 49
      ecs/include/alibabacloud/ecs/model/RollbackVolumeResult.h
  40. 10 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  41. 141 0
      ecs/include/alibabacloud/ecs/model/ValidateSecurityGroupRequest.h
  42. 72 0
      ecs/include/alibabacloud/ecs/model/ValidateSecurityGroupResult.h
  43. 243 387
      ecs/src/EcsClient.cc
  44. 0 104
      ecs/src/model/AttachVolumeRequest.cc
  45. 0 291
      ecs/src/model/CancelUserEventRequest.cc
  46. 126 5
      ecs/src/model/CreateKeyPairRequest.cc
  47. 713 0
      ecs/src/model/CreateLaunchTemplateRequest.cc
  48. 9 9
      ecs/src/model/CreateLaunchTemplateResult.cc
  49. 724 0
      ecs/src/model/CreateLaunchTemplateVersionRequest.cc
  50. 9 9
      ecs/src/model/CreateLaunchTemplateVersionResult.cc
  51. 11 0
      ecs/src/model/CreateSecurityGroupRequest.cc
  52. 0 313
      ecs/src/model/CreateUserEventRequest.cc
  53. 0 52
      ecs/src/model/CreateUserEventResult.cc
  54. 0 280
      ecs/src/model/CreateVolumeRequest.cc
  55. 313 0
      ecs/src/model/DeleteLaunchTemplateRequest.cc
  56. 5 5
      ecs/src/model/DeleteLaunchTemplateResult.cc
  57. 325 0
      ecs/src/model/DeleteLaunchTemplateVersionRequest.cc
  58. 5 5
      ecs/src/model/DeleteLaunchTemplateVersionResult.cc
  59. 0 93
      ecs/src/model/DeleteVolumeRequest.cc
  60. 2 0
      ecs/src/model/DescribeDisksFullStatusResult.cc
  61. 136 15
      ecs/src/model/DescribeKeyPairsRequest.cc
  62. 391 0
      ecs/src/model/DescribeLaunchTemplateVersionsRequest.cc
  63. 204 0
      ecs/src/model/DescribeLaunchTemplateVersionsResult.cc
  64. 337 0
      ecs/src/model/DescribeLaunchTemplatesRequest.cc
  65. 91 0
      ecs/src/model/DescribeLaunchTemplatesResult.cc
  66. 11 0
      ecs/src/model/DescribeSecurityGroupsRequest.cc
  67. 0 313
      ecs/src/model/DescribeVolumesRequest.cc
  68. 0 139
      ecs/src/model/DescribeVolumesResult.cc
  69. 0 104
      ecs/src/model/DetachVolumeRequest.cc
  70. 0 45
      ecs/src/model/DetachVolumeResult.cc
  71. 324 0
      ecs/src/model/ModifyLaunchTemplateDefaultVersionRequest.cc
  72. 5 12
      ecs/src/model/ModifyLaunchTemplateDefaultVersionResult.cc
  73. 0 313
      ecs/src/model/ModifyUserEventAttributeRequest.cc
  74. 0 115
      ecs/src/model/ModifyVolumeAttributeRequest.cc
  75. 0 45
      ecs/src/model/ModifyVolumeAttributeResult.cc
  76. 0 104
      ecs/src/model/ReInitVolumeRequest.cc
  77. 0 45
      ecs/src/model/ReInitVolumeResult.cc
  78. 0 115
      ecs/src/model/ResizeVolumeRequest.cc
  79. 0 45
      ecs/src/model/ResizeVolumeResult.cc
  80. 0 104
      ecs/src/model/RollbackVolumeRequest.cc
  81. 0 45
      ecs/src/model/RollbackVolumeResult.cc
  82. 34 0
      ecs/src/model/RunInstancesRequest.cc
  83. 379 0
      ecs/src/model/ValidateSecurityGroupRequest.cc
  84. 90 0
      ecs/src/model/ValidateSecurityGroupResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2018-05-28 Version: 1.14.0
+1, ValidateSecurityGroup API
+
 2018-05-28 Version: 1.13.0
 1, This is an example of release-log.
 2, Please strictly follow this format to edit in English.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.13.0
+1.14.0

+ 32 - 48
ecs/CMakeLists.txt

@@ -81,8 +81,6 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DetachInstanceRamRoleResult.h
 	include/alibabacloud/ecs/model/AllocatePublicIpAddressRequest.h
 	include/alibabacloud/ecs/model/AllocatePublicIpAddressResult.h
-	include/alibabacloud/ecs/model/AttachVolumeRequest.h
-	include/alibabacloud/ecs/model/AttachVolumeResult.h
 	include/alibabacloud/ecs/model/DescribeEipMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeEipMonitorDataResult.h
 	include/alibabacloud/ecs/model/CancelAutoSnapshotPolicyRequest.h
@@ -127,8 +125,6 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h
 	include/alibabacloud/ecs/model/ResizeDiskRequest.h
 	include/alibabacloud/ecs/model/ResizeDiskResult.h
-	include/alibabacloud/ecs/model/ResizeVolumeRequest.h
-	include/alibabacloud/ecs/model/ResizeVolumeResult.h
 	include/alibabacloud/ecs/model/CreateRouteEntryRequest.h
 	include/alibabacloud/ecs/model/CreateRouteEntryResult.h
 	include/alibabacloud/ecs/model/DescribeInvocationsRequest.h
@@ -137,12 +133,14 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/AttachKeyPairResult.h
 	include/alibabacloud/ecs/model/CreateRouterInterfaceRequest.h
 	include/alibabacloud/ecs/model/CreateRouterInterfaceResult.h
-	include/alibabacloud/ecs/model/ModifyVolumeAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyVolumeAttributeResult.h
 	include/alibabacloud/ecs/model/CheckDiskEnableAutoSnapshotValidationRequest.h
 	include/alibabacloud/ecs/model/CheckDiskEnableAutoSnapshotValidationResult.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
@@ -203,8 +201,6 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
 	include/alibabacloud/ecs/model/DescribeSnapshotPackageRequest.h
 	include/alibabacloud/ecs/model/DescribeSnapshotPackageResult.h
-	include/alibabacloud/ecs/model/ReInitVolumeRequest.h
-	include/alibabacloud/ecs/model/ReInitVolumeResult.h
 	include/alibabacloud/ecs/model/RebootInstanceRequest.h
 	include/alibabacloud/ecs/model/RebootInstanceResult.h
 	include/alibabacloud/ecs/model/BindIpRangeRequest.h
@@ -239,8 +235,6 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyInstanceVpcAttributeResult.h
 	include/alibabacloud/ecs/model/AddTagsRequest.h
 	include/alibabacloud/ecs/model/AddTagsResult.h
-	include/alibabacloud/ecs/model/CancelUserEventRequest.h
-	include/alibabacloud/ecs/model/CancelUserEventResult.h
 	include/alibabacloud/ecs/model/CreateHpcClusterRequest.h
 	include/alibabacloud/ecs/model/CreateHpcClusterResult.h
 	include/alibabacloud/ecs/model/DescribeUserBusinessBehaviorRequest.h
@@ -321,6 +315,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeResourcesModificationResult.h
 	include/alibabacloud/ecs/model/ImportKeyPairRequest.h
 	include/alibabacloud/ecs/model/ImportKeyPairResult.h
+	include/alibabacloud/ecs/model/DeleteLaunchTemplateRequest.h
+	include/alibabacloud/ecs/model/DeleteLaunchTemplateResult.h
 	include/alibabacloud/ecs/model/DescribeNewProjectEipMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeNewProjectEipMonitorDataResult.h
 	include/alibabacloud/ecs/model/UnbindIpRangeRequest.h
@@ -351,8 +347,6 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ResetDiskResult.h
 	include/alibabacloud/ecs/model/ModifyDiskChargeTypeRequest.h
 	include/alibabacloud/ecs/model/ModifyDiskChargeTypeResult.h
-	include/alibabacloud/ecs/model/DescribeVolumesRequest.h
-	include/alibabacloud/ecs/model/DescribeVolumesResult.h
 	include/alibabacloud/ecs/model/ModifyIntranetBandwidthKbRequest.h
 	include/alibabacloud/ecs/model/ModifyIntranetBandwidthKbResult.h
 	include/alibabacloud/ecs/model/DescribeBandwidthPackagesRequest.h
@@ -371,10 +365,10 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeRecommendInstanceTypeResult.h
 	include/alibabacloud/ecs/model/DescribeTagKeysRequest.h
 	include/alibabacloud/ecs/model/DescribeTagKeysResult.h
-	include/alibabacloud/ecs/model/CreateVolumeRequest.h
-	include/alibabacloud/ecs/model/CreateVolumeResult.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/DescribeIntranetAttributeKbRequest.h
 	include/alibabacloud/ecs/model/DescribeIntranetAttributeKbResult.h
 	include/alibabacloud/ecs/model/CreateNetworkInterfacePermissionRequest.h
@@ -395,14 +389,12 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/EnablePhysicalConnectionResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceTypeFamiliesRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceTypeFamiliesResult.h
-	include/alibabacloud/ecs/model/RollbackVolumeRequest.h
-	include/alibabacloud/ecs/model/RollbackVolumeResult.h
-	include/alibabacloud/ecs/model/DeleteVolumeRequest.h
-	include/alibabacloud/ecs/model/DeleteVolumeResult.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
@@ -425,8 +417,6 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyAutoSnapshotPolicyExResult.h
 	include/alibabacloud/ecs/model/CreatePhysicalConnectionRequest.h
 	include/alibabacloud/ecs/model/CreatePhysicalConnectionResult.h
-	include/alibabacloud/ecs/model/ModifyUserEventAttributeRequest.h
-	include/alibabacloud/ecs/model/ModifyUserEventAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeKeyPairsRequest.h
 	include/alibabacloud/ecs/model/DescribeKeyPairsResult.h
 	include/alibabacloud/ecs/model/ModifySecurityGroupPolicyRequest.h
@@ -443,6 +433,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeCloudAssistantStatusResult.h
 	include/alibabacloud/ecs/model/DescribeInstancePhysicalAttributeRequest.h
 	include/alibabacloud/ecs/model/DescribeInstancePhysicalAttributeResult.h
+	include/alibabacloud/ecs/model/ValidateSecurityGroupRequest.h
+	include/alibabacloud/ecs/model/ValidateSecurityGroupResult.h
 	include/alibabacloud/ecs/model/TerminatePhysicalConnectionRequest.h
 	include/alibabacloud/ecs/model/TerminatePhysicalConnectionResult.h
 	include/alibabacloud/ecs/model/AttachNetworkInterfaceRequest.h
@@ -459,20 +451,18 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/CancelCopyImageResult.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/CreateUserEventRequest.h
-	include/alibabacloud/ecs/model/CreateUserEventResult.h
 	include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyRequest.h
 	include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyResult.h
 	include/alibabacloud/ecs/model/DescribePhysicalConnectionsRequest.h
 	include/alibabacloud/ecs/model/DescribePhysicalConnectionsResult.h
 	include/alibabacloud/ecs/model/DescribeRecycleBinRequest.h
 	include/alibabacloud/ecs/model/DescribeRecycleBinResult.h
-	include/alibabacloud/ecs/model/DetachVolumeRequest.h
-	include/alibabacloud/ecs/model/DetachVolumeResult.h
 	include/alibabacloud/ecs/model/CreateNetworkInterfaceRequest.h
 	include/alibabacloud/ecs/model/CreateNetworkInterfaceResult.h
 	include/alibabacloud/ecs/model/DescribeIpRangesRequest.h
@@ -485,6 +475,8 @@ set(ecs_public_header_model
 	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/ModifyNetworkInterfaceAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyNetworkInterfaceAttributeResult.h
 	include/alibabacloud/ecs/model/DetachNetworkInterfaceRequest.h
@@ -576,8 +568,6 @@ set(ecs_src
 	src/model/DetachInstanceRamRoleResult.cc
 	src/model/AllocatePublicIpAddressRequest.cc
 	src/model/AllocatePublicIpAddressResult.cc
-	src/model/AttachVolumeRequest.cc
-	src/model/AttachVolumeResult.cc
 	src/model/DescribeEipMonitorDataRequest.cc
 	src/model/DescribeEipMonitorDataResult.cc
 	src/model/CancelAutoSnapshotPolicyRequest.cc
@@ -622,8 +612,6 @@ set(ecs_src
 	src/model/DescribeSecurityGroupsResult.cc
 	src/model/ResizeDiskRequest.cc
 	src/model/ResizeDiskResult.cc
-	src/model/ResizeVolumeRequest.cc
-	src/model/ResizeVolumeResult.cc
 	src/model/CreateRouteEntryRequest.cc
 	src/model/CreateRouteEntryResult.cc
 	src/model/DescribeInvocationsRequest.cc
@@ -632,12 +620,14 @@ set(ecs_src
 	src/model/AttachKeyPairResult.cc
 	src/model/CreateRouterInterfaceRequest.cc
 	src/model/CreateRouterInterfaceResult.cc
-	src/model/ModifyVolumeAttributeRequest.cc
-	src/model/ModifyVolumeAttributeResult.cc
 	src/model/CheckDiskEnableAutoSnapshotValidationRequest.cc
 	src/model/CheckDiskEnableAutoSnapshotValidationResult.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
@@ -698,8 +688,6 @@ set(ecs_src
 	src/model/DescribeInstanceTypesResult.cc
 	src/model/DescribeSnapshotPackageRequest.cc
 	src/model/DescribeSnapshotPackageResult.cc
-	src/model/ReInitVolumeRequest.cc
-	src/model/ReInitVolumeResult.cc
 	src/model/RebootInstanceRequest.cc
 	src/model/RebootInstanceResult.cc
 	src/model/BindIpRangeRequest.cc
@@ -734,8 +722,6 @@ set(ecs_src
 	src/model/ModifyInstanceVpcAttributeResult.cc
 	src/model/AddTagsRequest.cc
 	src/model/AddTagsResult.cc
-	src/model/CancelUserEventRequest.cc
-	src/model/CancelUserEventResult.cc
 	src/model/CreateHpcClusterRequest.cc
 	src/model/CreateHpcClusterResult.cc
 	src/model/DescribeUserBusinessBehaviorRequest.cc
@@ -816,6 +802,8 @@ set(ecs_src
 	src/model/DescribeResourcesModificationResult.cc
 	src/model/ImportKeyPairRequest.cc
 	src/model/ImportKeyPairResult.cc
+	src/model/DeleteLaunchTemplateRequest.cc
+	src/model/DeleteLaunchTemplateResult.cc
 	src/model/DescribeNewProjectEipMonitorDataRequest.cc
 	src/model/DescribeNewProjectEipMonitorDataResult.cc
 	src/model/UnbindIpRangeRequest.cc
@@ -846,8 +834,6 @@ set(ecs_src
 	src/model/ResetDiskResult.cc
 	src/model/ModifyDiskChargeTypeRequest.cc
 	src/model/ModifyDiskChargeTypeResult.cc
-	src/model/DescribeVolumesRequest.cc
-	src/model/DescribeVolumesResult.cc
 	src/model/ModifyIntranetBandwidthKbRequest.cc
 	src/model/ModifyIntranetBandwidthKbResult.cc
 	src/model/DescribeBandwidthPackagesRequest.cc
@@ -866,10 +852,10 @@ set(ecs_src
 	src/model/DescribeRecommendInstanceTypeResult.cc
 	src/model/DescribeTagKeysRequest.cc
 	src/model/DescribeTagKeysResult.cc
-	src/model/CreateVolumeRequest.cc
-	src/model/CreateVolumeResult.cc
 	src/model/DeleteInstanceRequest.cc
 	src/model/DeleteInstanceResult.cc
+	src/model/CreateLaunchTemplateRequest.cc
+	src/model/CreateLaunchTemplateResult.cc
 	src/model/DescribeIntranetAttributeKbRequest.cc
 	src/model/DescribeIntranetAttributeKbResult.cc
 	src/model/CreateNetworkInterfacePermissionRequest.cc
@@ -890,14 +876,12 @@ set(ecs_src
 	src/model/EnablePhysicalConnectionResult.cc
 	src/model/DescribeInstanceTypeFamiliesRequest.cc
 	src/model/DescribeInstanceTypeFamiliesResult.cc
-	src/model/RollbackVolumeRequest.cc
-	src/model/RollbackVolumeResult.cc
-	src/model/DeleteVolumeRequest.cc
-	src/model/DeleteVolumeResult.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
@@ -920,8 +904,6 @@ set(ecs_src
 	src/model/ModifyAutoSnapshotPolicyExResult.cc
 	src/model/CreatePhysicalConnectionRequest.cc
 	src/model/CreatePhysicalConnectionResult.cc
-	src/model/ModifyUserEventAttributeRequest.cc
-	src/model/ModifyUserEventAttributeResult.cc
 	src/model/DescribeKeyPairsRequest.cc
 	src/model/DescribeKeyPairsResult.cc
 	src/model/ModifySecurityGroupPolicyRequest.cc
@@ -938,6 +920,8 @@ set(ecs_src
 	src/model/DescribeCloudAssistantStatusResult.cc
 	src/model/DescribeInstancePhysicalAttributeRequest.cc
 	src/model/DescribeInstancePhysicalAttributeResult.cc
+	src/model/ValidateSecurityGroupRequest.cc
+	src/model/ValidateSecurityGroupResult.cc
 	src/model/TerminatePhysicalConnectionRequest.cc
 	src/model/TerminatePhysicalConnectionResult.cc
 	src/model/AttachNetworkInterfaceRequest.cc
@@ -954,20 +938,18 @@ set(ecs_src
 	src/model/CancelCopyImageResult.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/CreateUserEventRequest.cc
-	src/model/CreateUserEventResult.cc
 	src/model/DescribeAutoSnapshotPolicyRequest.cc
 	src/model/DescribeAutoSnapshotPolicyResult.cc
 	src/model/DescribePhysicalConnectionsRequest.cc
 	src/model/DescribePhysicalConnectionsResult.cc
 	src/model/DescribeRecycleBinRequest.cc
 	src/model/DescribeRecycleBinResult.cc
-	src/model/DetachVolumeRequest.cc
-	src/model/DetachVolumeResult.cc
 	src/model/CreateNetworkInterfaceRequest.cc
 	src/model/CreateNetworkInterfaceResult.cc
 	src/model/DescribeIpRangesRequest.cc
@@ -980,6 +962,8 @@ set(ecs_src
 	src/model/DescribeVRoutersResult.cc
 	src/model/DescribeNetworkInterfacesRequest.cc
 	src/model/DescribeNetworkInterfacesResult.cc
+	src/model/DescribeLaunchTemplateVersionsRequest.cc
+	src/model/DescribeLaunchTemplateVersionsResult.cc
 	src/model/ModifyNetworkInterfaceAttributeRequest.cc
 	src/model/ModifyNetworkInterfaceAttributeResult.cc
 	src/model/DetachNetworkInterfaceRequest.cc

+ 64 - 96
ecs/include/alibabacloud/ecs/EcsClient.h

@@ -82,8 +82,6 @@
 #include "model/DetachInstanceRamRoleResult.h"
 #include "model/AllocatePublicIpAddressRequest.h"
 #include "model/AllocatePublicIpAddressResult.h"
-#include "model/AttachVolumeRequest.h"
-#include "model/AttachVolumeResult.h"
 #include "model/DescribeEipMonitorDataRequest.h"
 #include "model/DescribeEipMonitorDataResult.h"
 #include "model/CancelAutoSnapshotPolicyRequest.h"
@@ -128,8 +126,6 @@
 #include "model/DescribeSecurityGroupsResult.h"
 #include "model/ResizeDiskRequest.h"
 #include "model/ResizeDiskResult.h"
-#include "model/ResizeVolumeRequest.h"
-#include "model/ResizeVolumeResult.h"
 #include "model/CreateRouteEntryRequest.h"
 #include "model/CreateRouteEntryResult.h"
 #include "model/DescribeInvocationsRequest.h"
@@ -138,12 +134,14 @@
 #include "model/AttachKeyPairResult.h"
 #include "model/CreateRouterInterfaceRequest.h"
 #include "model/CreateRouterInterfaceResult.h"
-#include "model/ModifyVolumeAttributeRequest.h"
-#include "model/ModifyVolumeAttributeResult.h"
 #include "model/CheckDiskEnableAutoSnapshotValidationRequest.h"
 #include "model/CheckDiskEnableAutoSnapshotValidationResult.h"
 #include "model/RunInstancesRequest.h"
 #include "model/RunInstancesResult.h"
+#include "model/ModifyLaunchTemplateDefaultVersionRequest.h"
+#include "model/ModifyLaunchTemplateDefaultVersionResult.h"
+#include "model/CreateLaunchTemplateVersionRequest.h"
+#include "model/CreateLaunchTemplateVersionResult.h"
 #include "model/StopInvocationRequest.h"
 #include "model/StopInvocationResult.h"
 #include "model/ModifyInstanceNetworkSpecRequest.h"
@@ -204,8 +202,6 @@
 #include "model/DescribeInstanceTypesResult.h"
 #include "model/DescribeSnapshotPackageRequest.h"
 #include "model/DescribeSnapshotPackageResult.h"
-#include "model/ReInitVolumeRequest.h"
-#include "model/ReInitVolumeResult.h"
 #include "model/RebootInstanceRequest.h"
 #include "model/RebootInstanceResult.h"
 #include "model/BindIpRangeRequest.h"
@@ -240,8 +236,6 @@
 #include "model/ModifyInstanceVpcAttributeResult.h"
 #include "model/AddTagsRequest.h"
 #include "model/AddTagsResult.h"
-#include "model/CancelUserEventRequest.h"
-#include "model/CancelUserEventResult.h"
 #include "model/CreateHpcClusterRequest.h"
 #include "model/CreateHpcClusterResult.h"
 #include "model/DescribeUserBusinessBehaviorRequest.h"
@@ -322,6 +316,8 @@
 #include "model/DescribeResourcesModificationResult.h"
 #include "model/ImportKeyPairRequest.h"
 #include "model/ImportKeyPairResult.h"
+#include "model/DeleteLaunchTemplateRequest.h"
+#include "model/DeleteLaunchTemplateResult.h"
 #include "model/DescribeNewProjectEipMonitorDataRequest.h"
 #include "model/DescribeNewProjectEipMonitorDataResult.h"
 #include "model/UnbindIpRangeRequest.h"
@@ -352,8 +348,6 @@
 #include "model/ResetDiskResult.h"
 #include "model/ModifyDiskChargeTypeRequest.h"
 #include "model/ModifyDiskChargeTypeResult.h"
-#include "model/DescribeVolumesRequest.h"
-#include "model/DescribeVolumesResult.h"
 #include "model/ModifyIntranetBandwidthKbRequest.h"
 #include "model/ModifyIntranetBandwidthKbResult.h"
 #include "model/DescribeBandwidthPackagesRequest.h"
@@ -372,10 +366,10 @@
 #include "model/DescribeRecommendInstanceTypeResult.h"
 #include "model/DescribeTagKeysRequest.h"
 #include "model/DescribeTagKeysResult.h"
-#include "model/CreateVolumeRequest.h"
-#include "model/CreateVolumeResult.h"
 #include "model/DeleteInstanceRequest.h"
 #include "model/DeleteInstanceResult.h"
+#include "model/CreateLaunchTemplateRequest.h"
+#include "model/CreateLaunchTemplateResult.h"
 #include "model/DescribeIntranetAttributeKbRequest.h"
 #include "model/DescribeIntranetAttributeKbResult.h"
 #include "model/CreateNetworkInterfacePermissionRequest.h"
@@ -396,14 +390,12 @@
 #include "model/EnablePhysicalConnectionResult.h"
 #include "model/DescribeInstanceTypeFamiliesRequest.h"
 #include "model/DescribeInstanceTypeFamiliesResult.h"
-#include "model/RollbackVolumeRequest.h"
-#include "model/RollbackVolumeResult.h"
-#include "model/DeleteVolumeRequest.h"
-#include "model/DeleteVolumeResult.h"
 #include "model/CreateForwardEntryRequest.h"
 #include "model/CreateForwardEntryResult.h"
 #include "model/DescribeRouterInterfacesRequest.h"
 #include "model/DescribeRouterInterfacesResult.h"
+#include "model/DescribeLaunchTemplatesRequest.h"
+#include "model/DescribeLaunchTemplatesResult.h"
 #include "model/EipNotifyPaidRequest.h"
 #include "model/EipNotifyPaidResult.h"
 #include "model/ReleasePublicIpAddressRequest.h"
@@ -426,8 +418,6 @@
 #include "model/ModifyAutoSnapshotPolicyExResult.h"
 #include "model/CreatePhysicalConnectionRequest.h"
 #include "model/CreatePhysicalConnectionResult.h"
-#include "model/ModifyUserEventAttributeRequest.h"
-#include "model/ModifyUserEventAttributeResult.h"
 #include "model/DescribeKeyPairsRequest.h"
 #include "model/DescribeKeyPairsResult.h"
 #include "model/ModifySecurityGroupPolicyRequest.h"
@@ -444,6 +434,8 @@
 #include "model/DescribeCloudAssistantStatusResult.h"
 #include "model/DescribeInstancePhysicalAttributeRequest.h"
 #include "model/DescribeInstancePhysicalAttributeResult.h"
+#include "model/ValidateSecurityGroupRequest.h"
+#include "model/ValidateSecurityGroupResult.h"
 #include "model/TerminatePhysicalConnectionRequest.h"
 #include "model/TerminatePhysicalConnectionResult.h"
 #include "model/AttachNetworkInterfaceRequest.h"
@@ -460,20 +452,18 @@
 #include "model/CancelCopyImageResult.h"
 #include "model/CreateDeploymentSetRequest.h"
 #include "model/CreateDeploymentSetResult.h"
+#include "model/DeleteLaunchTemplateVersionRequest.h"
+#include "model/DeleteLaunchTemplateVersionResult.h"
 #include "model/DescribeRegionsRequest.h"
 #include "model/DescribeRegionsResult.h"
 #include "model/DescribeClassicLinkInstancesRequest.h"
 #include "model/DescribeClassicLinkInstancesResult.h"
-#include "model/CreateUserEventRequest.h"
-#include "model/CreateUserEventResult.h"
 #include "model/DescribeAutoSnapshotPolicyRequest.h"
 #include "model/DescribeAutoSnapshotPolicyResult.h"
 #include "model/DescribePhysicalConnectionsRequest.h"
 #include "model/DescribePhysicalConnectionsResult.h"
 #include "model/DescribeRecycleBinRequest.h"
 #include "model/DescribeRecycleBinResult.h"
-#include "model/DetachVolumeRequest.h"
-#include "model/DetachVolumeResult.h"
 #include "model/CreateNetworkInterfaceRequest.h"
 #include "model/CreateNetworkInterfaceResult.h"
 #include "model/DescribeIpRangesRequest.h"
@@ -486,6 +476,8 @@
 #include "model/DescribeVRoutersResult.h"
 #include "model/DescribeNetworkInterfacesRequest.h"
 #include "model/DescribeNetworkInterfacesResult.h"
+#include "model/DescribeLaunchTemplateVersionsRequest.h"
+#include "model/DescribeLaunchTemplateVersionsResult.h"
 #include "model/ModifyNetworkInterfaceAttributeRequest.h"
 #include "model/ModifyNetworkInterfaceAttributeResult.h"
 #include "model/DetachNetworkInterfaceRequest.h"
@@ -613,9 +605,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AllocatePublicIpAddressResult> AllocatePublicIpAddressOutcome;
 			typedef std::future<AllocatePublicIpAddressOutcome> AllocatePublicIpAddressOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::AllocatePublicIpAddressRequest&, const AllocatePublicIpAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AllocatePublicIpAddressAsyncHandler;
-			typedef Outcome<Error, Model::AttachVolumeResult> AttachVolumeOutcome;
-			typedef std::future<AttachVolumeOutcome> AttachVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::AttachVolumeRequest&, const AttachVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachVolumeAsyncHandler;
 			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;
@@ -682,9 +671,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ResizeDiskResult> ResizeDiskOutcome;
 			typedef std::future<ResizeDiskOutcome> ResizeDiskOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ResizeDiskRequest&, const ResizeDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeDiskAsyncHandler;
-			typedef Outcome<Error, Model::ResizeVolumeResult> ResizeVolumeOutcome;
-			typedef std::future<ResizeVolumeOutcome> ResizeVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::ResizeVolumeRequest&, const ResizeVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeVolumeAsyncHandler;
 			typedef Outcome<Error, Model::CreateRouteEntryResult> CreateRouteEntryOutcome;
 			typedef std::future<CreateRouteEntryOutcome> CreateRouteEntryOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateRouteEntryRequest&, const CreateRouteEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRouteEntryAsyncHandler;
@@ -697,15 +683,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateRouterInterfaceResult> CreateRouterInterfaceOutcome;
 			typedef std::future<CreateRouterInterfaceOutcome> CreateRouterInterfaceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateRouterInterfaceRequest&, const CreateRouterInterfaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRouterInterfaceAsyncHandler;
-			typedef Outcome<Error, Model::ModifyVolumeAttributeResult> ModifyVolumeAttributeOutcome;
-			typedef std::future<ModifyVolumeAttributeOutcome> ModifyVolumeAttributeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::ModifyVolumeAttributeRequest&, const ModifyVolumeAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyVolumeAttributeAsyncHandler;
 			typedef Outcome<Error, Model::CheckDiskEnableAutoSnapshotValidationResult> CheckDiskEnableAutoSnapshotValidationOutcome;
 			typedef std::future<CheckDiskEnableAutoSnapshotValidationOutcome> CheckDiskEnableAutoSnapshotValidationOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CheckDiskEnableAutoSnapshotValidationRequest&, const CheckDiskEnableAutoSnapshotValidationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckDiskEnableAutoSnapshotValidationAsyncHandler;
 			typedef Outcome<Error, Model::RunInstancesResult> RunInstancesOutcome;
 			typedef std::future<RunInstancesOutcome> RunInstancesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::RunInstancesRequest&, const RunInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RunInstancesAsyncHandler;
+			typedef Outcome<Error, Model::ModifyLaunchTemplateDefaultVersionResult> ModifyLaunchTemplateDefaultVersionOutcome;
+			typedef std::future<ModifyLaunchTemplateDefaultVersionOutcome> ModifyLaunchTemplateDefaultVersionOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyLaunchTemplateDefaultVersionRequest&, const ModifyLaunchTemplateDefaultVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyLaunchTemplateDefaultVersionAsyncHandler;
+			typedef Outcome<Error, Model::CreateLaunchTemplateVersionResult> CreateLaunchTemplateVersionOutcome;
+			typedef std::future<CreateLaunchTemplateVersionOutcome> CreateLaunchTemplateVersionOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateLaunchTemplateVersionRequest&, const CreateLaunchTemplateVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLaunchTemplateVersionAsyncHandler;
 			typedef Outcome<Error, Model::StopInvocationResult> StopInvocationOutcome;
 			typedef std::future<StopInvocationOutcome> StopInvocationOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::StopInvocationRequest&, const StopInvocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopInvocationAsyncHandler;
@@ -796,9 +785,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSnapshotPackageResult> DescribeSnapshotPackageOutcome;
 			typedef std::future<DescribeSnapshotPackageOutcome> DescribeSnapshotPackageOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeSnapshotPackageRequest&, const DescribeSnapshotPackageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSnapshotPackageAsyncHandler;
-			typedef Outcome<Error, Model::ReInitVolumeResult> ReInitVolumeOutcome;
-			typedef std::future<ReInitVolumeOutcome> ReInitVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::ReInitVolumeRequest&, const ReInitVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReInitVolumeAsyncHandler;
 			typedef Outcome<Error, Model::RebootInstanceResult> RebootInstanceOutcome;
 			typedef std::future<RebootInstanceOutcome> RebootInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::RebootInstanceRequest&, const RebootInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RebootInstanceAsyncHandler;
@@ -850,9 +836,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddTagsResult> AddTagsOutcome;
 			typedef std::future<AddTagsOutcome> AddTagsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::AddTagsRequest&, const AddTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddTagsAsyncHandler;
-			typedef Outcome<Error, Model::CancelUserEventResult> CancelUserEventOutcome;
-			typedef std::future<CancelUserEventOutcome> CancelUserEventOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::CancelUserEventRequest&, const CancelUserEventOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelUserEventAsyncHandler;
 			typedef Outcome<Error, Model::CreateHpcClusterResult> CreateHpcClusterOutcome;
 			typedef std::future<CreateHpcClusterOutcome> CreateHpcClusterOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateHpcClusterRequest&, const CreateHpcClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateHpcClusterAsyncHandler;
@@ -973,6 +956,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ImportKeyPairResult> ImportKeyPairOutcome;
 			typedef std::future<ImportKeyPairOutcome> ImportKeyPairOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ImportKeyPairRequest&, const ImportKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImportKeyPairAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLaunchTemplateResult> DeleteLaunchTemplateOutcome;
+			typedef std::future<DeleteLaunchTemplateOutcome> DeleteLaunchTemplateOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DeleteLaunchTemplateRequest&, const DeleteLaunchTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLaunchTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DescribeNewProjectEipMonitorDataResult> DescribeNewProjectEipMonitorDataOutcome;
 			typedef std::future<DescribeNewProjectEipMonitorDataOutcome> DescribeNewProjectEipMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeNewProjectEipMonitorDataRequest&, const DescribeNewProjectEipMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNewProjectEipMonitorDataAsyncHandler;
@@ -1018,9 +1004,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyDiskChargeTypeResult> ModifyDiskChargeTypeOutcome;
 			typedef std::future<ModifyDiskChargeTypeOutcome> ModifyDiskChargeTypeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyDiskChargeTypeRequest&, const ModifyDiskChargeTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDiskChargeTypeAsyncHandler;
-			typedef Outcome<Error, Model::DescribeVolumesResult> DescribeVolumesOutcome;
-			typedef std::future<DescribeVolumesOutcome> DescribeVolumesOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::DescribeVolumesRequest&, const DescribeVolumesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVolumesAsyncHandler;
 			typedef Outcome<Error, Model::ModifyIntranetBandwidthKbResult> ModifyIntranetBandwidthKbOutcome;
 			typedef std::future<ModifyIntranetBandwidthKbOutcome> ModifyIntranetBandwidthKbOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyIntranetBandwidthKbRequest&, const ModifyIntranetBandwidthKbOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyIntranetBandwidthKbAsyncHandler;
@@ -1048,12 +1031,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeTagKeysResult> DescribeTagKeysOutcome;
 			typedef std::future<DescribeTagKeysOutcome> DescribeTagKeysOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeTagKeysRequest&, const DescribeTagKeysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTagKeysAsyncHandler;
-			typedef Outcome<Error, Model::CreateVolumeResult> CreateVolumeOutcome;
-			typedef std::future<CreateVolumeOutcome> CreateVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::CreateVolumeRequest&, const CreateVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateVolumeAsyncHandler;
 			typedef Outcome<Error, Model::DeleteInstanceResult> DeleteInstanceOutcome;
 			typedef std::future<DeleteInstanceOutcome> DeleteInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteInstanceRequest&, const DeleteInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteInstanceAsyncHandler;
+			typedef Outcome<Error, Model::CreateLaunchTemplateResult> CreateLaunchTemplateOutcome;
+			typedef std::future<CreateLaunchTemplateOutcome> CreateLaunchTemplateOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateLaunchTemplateRequest&, const CreateLaunchTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLaunchTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DescribeIntranetAttributeKbResult> DescribeIntranetAttributeKbOutcome;
 			typedef std::future<DescribeIntranetAttributeKbOutcome> DescribeIntranetAttributeKbOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeIntranetAttributeKbRequest&, const DescribeIntranetAttributeKbOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIntranetAttributeKbAsyncHandler;
@@ -1084,18 +1067,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceTypeFamiliesResult> DescribeInstanceTypeFamiliesOutcome;
 			typedef std::future<DescribeInstanceTypeFamiliesOutcome> DescribeInstanceTypeFamiliesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceTypeFamiliesRequest&, const DescribeInstanceTypeFamiliesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceTypeFamiliesAsyncHandler;
-			typedef Outcome<Error, Model::RollbackVolumeResult> RollbackVolumeOutcome;
-			typedef std::future<RollbackVolumeOutcome> RollbackVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::RollbackVolumeRequest&, const RollbackVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RollbackVolumeAsyncHandler;
-			typedef Outcome<Error, Model::DeleteVolumeResult> DeleteVolumeOutcome;
-			typedef std::future<DeleteVolumeOutcome> DeleteVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::DeleteVolumeRequest&, const DeleteVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteVolumeAsyncHandler;
 			typedef Outcome<Error, Model::CreateForwardEntryResult> CreateForwardEntryOutcome;
 			typedef std::future<CreateForwardEntryOutcome> CreateForwardEntryOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateForwardEntryRequest&, const CreateForwardEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateForwardEntryAsyncHandler;
 			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::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;
 			typedef Outcome<Error, Model::EipNotifyPaidResult> EipNotifyPaidOutcome;
 			typedef std::future<EipNotifyPaidOutcome> EipNotifyPaidOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::EipNotifyPaidRequest&, const EipNotifyPaidOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EipNotifyPaidAsyncHandler;
@@ -1129,9 +1109,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreatePhysicalConnectionResult> CreatePhysicalConnectionOutcome;
 			typedef std::future<CreatePhysicalConnectionOutcome> CreatePhysicalConnectionOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreatePhysicalConnectionRequest&, const CreatePhysicalConnectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePhysicalConnectionAsyncHandler;
-			typedef Outcome<Error, Model::ModifyUserEventAttributeResult> ModifyUserEventAttributeOutcome;
-			typedef std::future<ModifyUserEventAttributeOutcome> ModifyUserEventAttributeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::ModifyUserEventAttributeRequest&, const ModifyUserEventAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyUserEventAttributeAsyncHandler;
 			typedef Outcome<Error, Model::DescribeKeyPairsResult> DescribeKeyPairsOutcome;
 			typedef std::future<DescribeKeyPairsOutcome> DescribeKeyPairsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeKeyPairsRequest&, const DescribeKeyPairsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeKeyPairsAsyncHandler;
@@ -1156,6 +1133,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstancePhysicalAttributeResult> DescribeInstancePhysicalAttributeOutcome;
 			typedef std::future<DescribeInstancePhysicalAttributeOutcome> DescribeInstancePhysicalAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstancePhysicalAttributeRequest&, const DescribeInstancePhysicalAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstancePhysicalAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ValidateSecurityGroupResult> ValidateSecurityGroupOutcome;
+			typedef std::future<ValidateSecurityGroupOutcome> ValidateSecurityGroupOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ValidateSecurityGroupRequest&, const ValidateSecurityGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ValidateSecurityGroupAsyncHandler;
 			typedef Outcome<Error, Model::TerminatePhysicalConnectionResult> TerminatePhysicalConnectionOutcome;
 			typedef std::future<TerminatePhysicalConnectionOutcome> TerminatePhysicalConnectionOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::TerminatePhysicalConnectionRequest&, const TerminatePhysicalConnectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TerminatePhysicalConnectionAsyncHandler;
@@ -1180,15 +1160,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateDeploymentSetResult> CreateDeploymentSetOutcome;
 			typedef std::future<CreateDeploymentSetOutcome> CreateDeploymentSetOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateDeploymentSetRequest&, const CreateDeploymentSetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDeploymentSetAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLaunchTemplateVersionResult> DeleteLaunchTemplateVersionOutcome;
+			typedef std::future<DeleteLaunchTemplateVersionOutcome> DeleteLaunchTemplateVersionOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DeleteLaunchTemplateVersionRequest&, const DeleteLaunchTemplateVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLaunchTemplateVersionAsyncHandler;
 			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
 			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeClassicLinkInstancesResult> DescribeClassicLinkInstancesOutcome;
 			typedef std::future<DescribeClassicLinkInstancesOutcome> DescribeClassicLinkInstancesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeClassicLinkInstancesRequest&, const DescribeClassicLinkInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClassicLinkInstancesAsyncHandler;
-			typedef Outcome<Error, Model::CreateUserEventResult> CreateUserEventOutcome;
-			typedef std::future<CreateUserEventOutcome> CreateUserEventOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::CreateUserEventRequest&, const CreateUserEventOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUserEventAsyncHandler;
 			typedef Outcome<Error, Model::DescribeAutoSnapshotPolicyResult> DescribeAutoSnapshotPolicyOutcome;
 			typedef std::future<DescribeAutoSnapshotPolicyOutcome> DescribeAutoSnapshotPolicyOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeAutoSnapshotPolicyRequest&, const DescribeAutoSnapshotPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAutoSnapshotPolicyAsyncHandler;
@@ -1198,9 +1178,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeRecycleBinResult> DescribeRecycleBinOutcome;
 			typedef std::future<DescribeRecycleBinOutcome> DescribeRecycleBinOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeRecycleBinRequest&, const DescribeRecycleBinOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRecycleBinAsyncHandler;
-			typedef Outcome<Error, Model::DetachVolumeResult> DetachVolumeOutcome;
-			typedef std::future<DetachVolumeOutcome> DetachVolumeOutcomeCallable;
-			typedef std::function<void(const EcsClient*, const Model::DetachVolumeRequest&, const DetachVolumeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachVolumeAsyncHandler;
 			typedef Outcome<Error, Model::CreateNetworkInterfaceResult> CreateNetworkInterfaceOutcome;
 			typedef std::future<CreateNetworkInterfaceOutcome> CreateNetworkInterfaceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateNetworkInterfaceRequest&, const CreateNetworkInterfaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateNetworkInterfaceAsyncHandler;
@@ -1219,6 +1196,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeNetworkInterfacesResult> DescribeNetworkInterfacesOutcome;
 			typedef std::future<DescribeNetworkInterfacesOutcome> DescribeNetworkInterfacesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeNetworkInterfacesRequest&, const DescribeNetworkInterfacesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNetworkInterfacesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLaunchTemplateVersionsResult> DescribeLaunchTemplateVersionsOutcome;
+			typedef std::future<DescribeLaunchTemplateVersionsOutcome> DescribeLaunchTemplateVersionsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeLaunchTemplateVersionsRequest&, const DescribeLaunchTemplateVersionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLaunchTemplateVersionsAsyncHandler;
 			typedef Outcome<Error, Model::ModifyNetworkInterfaceAttributeResult> ModifyNetworkInterfaceAttributeOutcome;
 			typedef std::future<ModifyNetworkInterfaceAttributeOutcome> ModifyNetworkInterfaceAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyNetworkInterfaceAttributeRequest&, const ModifyNetworkInterfaceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyNetworkInterfaceAttributeAsyncHandler;
@@ -1356,9 +1336,6 @@ namespace AlibabaCloud
 			AllocatePublicIpAddressOutcome allocatePublicIpAddress(const Model::AllocatePublicIpAddressRequest &request)const;
 			void allocatePublicIpAddressAsync(const Model::AllocatePublicIpAddressRequest& request, const AllocatePublicIpAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AllocatePublicIpAddressOutcomeCallable allocatePublicIpAddressCallable(const Model::AllocatePublicIpAddressRequest& request) const;
-			AttachVolumeOutcome attachVolume(const Model::AttachVolumeRequest &request)const;
-			void attachVolumeAsync(const Model::AttachVolumeRequest& request, const AttachVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			AttachVolumeOutcomeCallable attachVolumeCallable(const Model::AttachVolumeRequest& request) const;
 			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;
@@ -1425,9 +1402,6 @@ namespace AlibabaCloud
 			ResizeDiskOutcome resizeDisk(const Model::ResizeDiskRequest &request)const;
 			void resizeDiskAsync(const Model::ResizeDiskRequest& request, const ResizeDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResizeDiskOutcomeCallable resizeDiskCallable(const Model::ResizeDiskRequest& request) const;
-			ResizeVolumeOutcome resizeVolume(const Model::ResizeVolumeRequest &request)const;
-			void resizeVolumeAsync(const Model::ResizeVolumeRequest& request, const ResizeVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ResizeVolumeOutcomeCallable resizeVolumeCallable(const Model::ResizeVolumeRequest& request) const;
 			CreateRouteEntryOutcome createRouteEntry(const Model::CreateRouteEntryRequest &request)const;
 			void createRouteEntryAsync(const Model::CreateRouteEntryRequest& request, const CreateRouteEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRouteEntryOutcomeCallable createRouteEntryCallable(const Model::CreateRouteEntryRequest& request) const;
@@ -1440,15 +1414,18 @@ namespace AlibabaCloud
 			CreateRouterInterfaceOutcome createRouterInterface(const Model::CreateRouterInterfaceRequest &request)const;
 			void createRouterInterfaceAsync(const Model::CreateRouterInterfaceRequest& request, const CreateRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRouterInterfaceOutcomeCallable createRouterInterfaceCallable(const Model::CreateRouterInterfaceRequest& request) const;
-			ModifyVolumeAttributeOutcome modifyVolumeAttribute(const Model::ModifyVolumeAttributeRequest &request)const;
-			void modifyVolumeAttributeAsync(const Model::ModifyVolumeAttributeRequest& request, const ModifyVolumeAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ModifyVolumeAttributeOutcomeCallable modifyVolumeAttributeCallable(const Model::ModifyVolumeAttributeRequest& request) const;
 			CheckDiskEnableAutoSnapshotValidationOutcome checkDiskEnableAutoSnapshotValidation(const Model::CheckDiskEnableAutoSnapshotValidationRequest &request)const;
 			void checkDiskEnableAutoSnapshotValidationAsync(const Model::CheckDiskEnableAutoSnapshotValidationRequest& request, const CheckDiskEnableAutoSnapshotValidationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CheckDiskEnableAutoSnapshotValidationOutcomeCallable checkDiskEnableAutoSnapshotValidationCallable(const Model::CheckDiskEnableAutoSnapshotValidationRequest& request) const;
 			RunInstancesOutcome runInstances(const Model::RunInstancesRequest &request)const;
 			void runInstancesAsync(const Model::RunInstancesRequest& request, const RunInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RunInstancesOutcomeCallable runInstancesCallable(const Model::RunInstancesRequest& request) const;
+			ModifyLaunchTemplateDefaultVersionOutcome modifyLaunchTemplateDefaultVersion(const Model::ModifyLaunchTemplateDefaultVersionRequest &request)const;
+			void modifyLaunchTemplateDefaultVersionAsync(const Model::ModifyLaunchTemplateDefaultVersionRequest& request, const ModifyLaunchTemplateDefaultVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyLaunchTemplateDefaultVersionOutcomeCallable modifyLaunchTemplateDefaultVersionCallable(const Model::ModifyLaunchTemplateDefaultVersionRequest& request) const;
+			CreateLaunchTemplateVersionOutcome createLaunchTemplateVersion(const Model::CreateLaunchTemplateVersionRequest &request)const;
+			void createLaunchTemplateVersionAsync(const Model::CreateLaunchTemplateVersionRequest& request, const CreateLaunchTemplateVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLaunchTemplateVersionOutcomeCallable createLaunchTemplateVersionCallable(const Model::CreateLaunchTemplateVersionRequest& request) const;
 			StopInvocationOutcome stopInvocation(const Model::StopInvocationRequest &request)const;
 			void stopInvocationAsync(const Model::StopInvocationRequest& request, const StopInvocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopInvocationOutcomeCallable stopInvocationCallable(const Model::StopInvocationRequest& request) const;
@@ -1539,9 +1516,6 @@ namespace AlibabaCloud
 			DescribeSnapshotPackageOutcome describeSnapshotPackage(const Model::DescribeSnapshotPackageRequest &request)const;
 			void describeSnapshotPackageAsync(const Model::DescribeSnapshotPackageRequest& request, const DescribeSnapshotPackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSnapshotPackageOutcomeCallable describeSnapshotPackageCallable(const Model::DescribeSnapshotPackageRequest& request) const;
-			ReInitVolumeOutcome reInitVolume(const Model::ReInitVolumeRequest &request)const;
-			void reInitVolumeAsync(const Model::ReInitVolumeRequest& request, const ReInitVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ReInitVolumeOutcomeCallable reInitVolumeCallable(const Model::ReInitVolumeRequest& request) const;
 			RebootInstanceOutcome rebootInstance(const Model::RebootInstanceRequest &request)const;
 			void rebootInstanceAsync(const Model::RebootInstanceRequest& request, const RebootInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RebootInstanceOutcomeCallable rebootInstanceCallable(const Model::RebootInstanceRequest& request) const;
@@ -1593,9 +1567,6 @@ namespace AlibabaCloud
 			AddTagsOutcome addTags(const Model::AddTagsRequest &request)const;
 			void addTagsAsync(const Model::AddTagsRequest& request, const AddTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddTagsOutcomeCallable addTagsCallable(const Model::AddTagsRequest& request) const;
-			CancelUserEventOutcome cancelUserEvent(const Model::CancelUserEventRequest &request)const;
-			void cancelUserEventAsync(const Model::CancelUserEventRequest& request, const CancelUserEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CancelUserEventOutcomeCallable cancelUserEventCallable(const Model::CancelUserEventRequest& request) const;
 			CreateHpcClusterOutcome createHpcCluster(const Model::CreateHpcClusterRequest &request)const;
 			void createHpcClusterAsync(const Model::CreateHpcClusterRequest& request, const CreateHpcClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateHpcClusterOutcomeCallable createHpcClusterCallable(const Model::CreateHpcClusterRequest& request) const;
@@ -1716,6 +1687,9 @@ namespace AlibabaCloud
 			ImportKeyPairOutcome importKeyPair(const Model::ImportKeyPairRequest &request)const;
 			void importKeyPairAsync(const Model::ImportKeyPairRequest& request, const ImportKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ImportKeyPairOutcomeCallable importKeyPairCallable(const Model::ImportKeyPairRequest& request) const;
+			DeleteLaunchTemplateOutcome deleteLaunchTemplate(const Model::DeleteLaunchTemplateRequest &request)const;
+			void deleteLaunchTemplateAsync(const Model::DeleteLaunchTemplateRequest& request, const DeleteLaunchTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLaunchTemplateOutcomeCallable deleteLaunchTemplateCallable(const Model::DeleteLaunchTemplateRequest& request) const;
 			DescribeNewProjectEipMonitorDataOutcome describeNewProjectEipMonitorData(const Model::DescribeNewProjectEipMonitorDataRequest &request)const;
 			void describeNewProjectEipMonitorDataAsync(const Model::DescribeNewProjectEipMonitorDataRequest& request, const DescribeNewProjectEipMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeNewProjectEipMonitorDataOutcomeCallable describeNewProjectEipMonitorDataCallable(const Model::DescribeNewProjectEipMonitorDataRequest& request) const;
@@ -1761,9 +1735,6 @@ namespace AlibabaCloud
 			ModifyDiskChargeTypeOutcome modifyDiskChargeType(const Model::ModifyDiskChargeTypeRequest &request)const;
 			void modifyDiskChargeTypeAsync(const Model::ModifyDiskChargeTypeRequest& request, const ModifyDiskChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDiskChargeTypeOutcomeCallable modifyDiskChargeTypeCallable(const Model::ModifyDiskChargeTypeRequest& request) const;
-			DescribeVolumesOutcome describeVolumes(const Model::DescribeVolumesRequest &request)const;
-			void describeVolumesAsync(const Model::DescribeVolumesRequest& request, const DescribeVolumesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			DescribeVolumesOutcomeCallable describeVolumesCallable(const Model::DescribeVolumesRequest& request) const;
 			ModifyIntranetBandwidthKbOutcome modifyIntranetBandwidthKb(const Model::ModifyIntranetBandwidthKbRequest &request)const;
 			void modifyIntranetBandwidthKbAsync(const Model::ModifyIntranetBandwidthKbRequest& request, const ModifyIntranetBandwidthKbAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyIntranetBandwidthKbOutcomeCallable modifyIntranetBandwidthKbCallable(const Model::ModifyIntranetBandwidthKbRequest& request) const;
@@ -1791,12 +1762,12 @@ namespace AlibabaCloud
 			DescribeTagKeysOutcome describeTagKeys(const Model::DescribeTagKeysRequest &request)const;
 			void describeTagKeysAsync(const Model::DescribeTagKeysRequest& request, const DescribeTagKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTagKeysOutcomeCallable describeTagKeysCallable(const Model::DescribeTagKeysRequest& request) const;
-			CreateVolumeOutcome createVolume(const Model::CreateVolumeRequest &request)const;
-			void createVolumeAsync(const Model::CreateVolumeRequest& request, const CreateVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CreateVolumeOutcomeCallable createVolumeCallable(const Model::CreateVolumeRequest& request) const;
 			DeleteInstanceOutcome deleteInstance(const Model::DeleteInstanceRequest &request)const;
 			void deleteInstanceAsync(const Model::DeleteInstanceRequest& request, const DeleteInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteInstanceOutcomeCallable deleteInstanceCallable(const Model::DeleteInstanceRequest& request) const;
+			CreateLaunchTemplateOutcome createLaunchTemplate(const Model::CreateLaunchTemplateRequest &request)const;
+			void createLaunchTemplateAsync(const Model::CreateLaunchTemplateRequest& request, const CreateLaunchTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLaunchTemplateOutcomeCallable createLaunchTemplateCallable(const Model::CreateLaunchTemplateRequest& request) const;
 			DescribeIntranetAttributeKbOutcome describeIntranetAttributeKb(const Model::DescribeIntranetAttributeKbRequest &request)const;
 			void describeIntranetAttributeKbAsync(const Model::DescribeIntranetAttributeKbRequest& request, const DescribeIntranetAttributeKbAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeIntranetAttributeKbOutcomeCallable describeIntranetAttributeKbCallable(const Model::DescribeIntranetAttributeKbRequest& request) const;
@@ -1827,18 +1798,15 @@ namespace AlibabaCloud
 			DescribeInstanceTypeFamiliesOutcome describeInstanceTypeFamilies(const Model::DescribeInstanceTypeFamiliesRequest &request)const;
 			void describeInstanceTypeFamiliesAsync(const Model::DescribeInstanceTypeFamiliesRequest& request, const DescribeInstanceTypeFamiliesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceTypeFamiliesOutcomeCallable describeInstanceTypeFamiliesCallable(const Model::DescribeInstanceTypeFamiliesRequest& request) const;
-			RollbackVolumeOutcome rollbackVolume(const Model::RollbackVolumeRequest &request)const;
-			void rollbackVolumeAsync(const Model::RollbackVolumeRequest& request, const RollbackVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			RollbackVolumeOutcomeCallable rollbackVolumeCallable(const Model::RollbackVolumeRequest& request) const;
-			DeleteVolumeOutcome deleteVolume(const Model::DeleteVolumeRequest &request)const;
-			void deleteVolumeAsync(const Model::DeleteVolumeRequest& request, const DeleteVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			DeleteVolumeOutcomeCallable deleteVolumeCallable(const Model::DeleteVolumeRequest& request) const;
 			CreateForwardEntryOutcome createForwardEntry(const Model::CreateForwardEntryRequest &request)const;
 			void createForwardEntryAsync(const Model::CreateForwardEntryRequest& request, const CreateForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateForwardEntryOutcomeCallable createForwardEntryCallable(const Model::CreateForwardEntryRequest& request) const;
 			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;
+			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;
 			EipNotifyPaidOutcome eipNotifyPaid(const Model::EipNotifyPaidRequest &request)const;
 			void eipNotifyPaidAsync(const Model::EipNotifyPaidRequest& request, const EipNotifyPaidAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EipNotifyPaidOutcomeCallable eipNotifyPaidCallable(const Model::EipNotifyPaidRequest& request) const;
@@ -1872,9 +1840,6 @@ namespace AlibabaCloud
 			CreatePhysicalConnectionOutcome createPhysicalConnection(const Model::CreatePhysicalConnectionRequest &request)const;
 			void createPhysicalConnectionAsync(const Model::CreatePhysicalConnectionRequest& request, const CreatePhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreatePhysicalConnectionOutcomeCallable createPhysicalConnectionCallable(const Model::CreatePhysicalConnectionRequest& request) const;
-			ModifyUserEventAttributeOutcome modifyUserEventAttribute(const Model::ModifyUserEventAttributeRequest &request)const;
-			void modifyUserEventAttributeAsync(const Model::ModifyUserEventAttributeRequest& request, const ModifyUserEventAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ModifyUserEventAttributeOutcomeCallable modifyUserEventAttributeCallable(const Model::ModifyUserEventAttributeRequest& request) const;
 			DescribeKeyPairsOutcome describeKeyPairs(const Model::DescribeKeyPairsRequest &request)const;
 			void describeKeyPairsAsync(const Model::DescribeKeyPairsRequest& request, const DescribeKeyPairsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeKeyPairsOutcomeCallable describeKeyPairsCallable(const Model::DescribeKeyPairsRequest& request) const;
@@ -1899,6 +1864,9 @@ namespace AlibabaCloud
 			DescribeInstancePhysicalAttributeOutcome describeInstancePhysicalAttribute(const Model::DescribeInstancePhysicalAttributeRequest &request)const;
 			void describeInstancePhysicalAttributeAsync(const Model::DescribeInstancePhysicalAttributeRequest& request, const DescribeInstancePhysicalAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstancePhysicalAttributeOutcomeCallable describeInstancePhysicalAttributeCallable(const Model::DescribeInstancePhysicalAttributeRequest& request) const;
+			ValidateSecurityGroupOutcome validateSecurityGroup(const Model::ValidateSecurityGroupRequest &request)const;
+			void validateSecurityGroupAsync(const Model::ValidateSecurityGroupRequest& request, const ValidateSecurityGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ValidateSecurityGroupOutcomeCallable validateSecurityGroupCallable(const Model::ValidateSecurityGroupRequest& request) const;
 			TerminatePhysicalConnectionOutcome terminatePhysicalConnection(const Model::TerminatePhysicalConnectionRequest &request)const;
 			void terminatePhysicalConnectionAsync(const Model::TerminatePhysicalConnectionRequest& request, const TerminatePhysicalConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TerminatePhysicalConnectionOutcomeCallable terminatePhysicalConnectionCallable(const Model::TerminatePhysicalConnectionRequest& request) const;
@@ -1923,15 +1891,15 @@ namespace AlibabaCloud
 			CreateDeploymentSetOutcome createDeploymentSet(const Model::CreateDeploymentSetRequest &request)const;
 			void createDeploymentSetAsync(const Model::CreateDeploymentSetRequest& request, const CreateDeploymentSetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDeploymentSetOutcomeCallable createDeploymentSetCallable(const Model::CreateDeploymentSetRequest& request) const;
+			DeleteLaunchTemplateVersionOutcome deleteLaunchTemplateVersion(const Model::DeleteLaunchTemplateVersionRequest &request)const;
+			void deleteLaunchTemplateVersionAsync(const Model::DeleteLaunchTemplateVersionRequest& request, const DeleteLaunchTemplateVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLaunchTemplateVersionOutcomeCallable deleteLaunchTemplateVersionCallable(const Model::DeleteLaunchTemplateVersionRequest& request) const;
 			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
 			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
 			DescribeClassicLinkInstancesOutcome describeClassicLinkInstances(const Model::DescribeClassicLinkInstancesRequest &request)const;
 			void describeClassicLinkInstancesAsync(const Model::DescribeClassicLinkInstancesRequest& request, const DescribeClassicLinkInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeClassicLinkInstancesOutcomeCallable describeClassicLinkInstancesCallable(const Model::DescribeClassicLinkInstancesRequest& request) const;
-			CreateUserEventOutcome createUserEvent(const Model::CreateUserEventRequest &request)const;
-			void createUserEventAsync(const Model::CreateUserEventRequest& request, const CreateUserEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CreateUserEventOutcomeCallable createUserEventCallable(const Model::CreateUserEventRequest& request) const;
 			DescribeAutoSnapshotPolicyOutcome describeAutoSnapshotPolicy(const Model::DescribeAutoSnapshotPolicyRequest &request)const;
 			void describeAutoSnapshotPolicyAsync(const Model::DescribeAutoSnapshotPolicyRequest& request, const DescribeAutoSnapshotPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeAutoSnapshotPolicyOutcomeCallable describeAutoSnapshotPolicyCallable(const Model::DescribeAutoSnapshotPolicyRequest& request) const;
@@ -1941,9 +1909,6 @@ namespace AlibabaCloud
 			DescribeRecycleBinOutcome describeRecycleBin(const Model::DescribeRecycleBinRequest &request)const;
 			void describeRecycleBinAsync(const Model::DescribeRecycleBinRequest& request, const DescribeRecycleBinAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRecycleBinOutcomeCallable describeRecycleBinCallable(const Model::DescribeRecycleBinRequest& request) const;
-			DetachVolumeOutcome detachVolume(const Model::DetachVolumeRequest &request)const;
-			void detachVolumeAsync(const Model::DetachVolumeRequest& request, const DetachVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			DetachVolumeOutcomeCallable detachVolumeCallable(const Model::DetachVolumeRequest& request) const;
 			CreateNetworkInterfaceOutcome createNetworkInterface(const Model::CreateNetworkInterfaceRequest &request)const;
 			void createNetworkInterfaceAsync(const Model::CreateNetworkInterfaceRequest& request, const CreateNetworkInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateNetworkInterfaceOutcomeCallable createNetworkInterfaceCallable(const Model::CreateNetworkInterfaceRequest& request) const;
@@ -1962,6 +1927,9 @@ namespace AlibabaCloud
 			DescribeNetworkInterfacesOutcome describeNetworkInterfaces(const Model::DescribeNetworkInterfacesRequest &request)const;
 			void describeNetworkInterfacesAsync(const Model::DescribeNetworkInterfacesRequest& request, const DescribeNetworkInterfacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeNetworkInterfacesOutcomeCallable describeNetworkInterfacesCallable(const Model::DescribeNetworkInterfacesRequest& request) const;
+			DescribeLaunchTemplateVersionsOutcome describeLaunchTemplateVersions(const Model::DescribeLaunchTemplateVersionsRequest &request)const;
+			void describeLaunchTemplateVersionsAsync(const Model::DescribeLaunchTemplateVersionsRequest& request, const DescribeLaunchTemplateVersionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLaunchTemplateVersionsOutcomeCallable describeLaunchTemplateVersionsCallable(const Model::DescribeLaunchTemplateVersionsRequest& request) const;
 			ModifyNetworkInterfaceAttributeOutcome modifyNetworkInterfaceAttribute(const Model::ModifyNetworkInterfaceAttributeRequest &request)const;
 			void modifyNetworkInterfaceAttributeAsync(const Model::ModifyNetworkInterfaceAttributeRequest& request, const ModifyNetworkInterfaceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyNetworkInterfaceAttributeOutcomeCallable modifyNetworkInterfaceAttributeCallable(const Model::ModifyNetworkInterfaceAttributeRequest& request) const;

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

@@ -1,66 +0,0 @@
-/*
- * 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_ATTACHVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_ATTACHVOLUMEREQUEST_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 AttachVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				AttachVolumeRequest();
-				~AttachVolumeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getInstanceId()const;
-				void setInstanceId(const std::string& instanceId);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string instanceId_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_ATTACHVOLUMEREQUEST_H_

+ 36 - 3
ecs/include/alibabacloud/ecs/model/CreateKeyPairRequest.h

@@ -35,23 +35,56 @@ namespace AlibabaCloud
 				CreateKeyPairRequest();
 				~CreateKeyPairRequest();
 
+				std::string getTag4Value()const;
+				void setTag4Value(const std::string& tag4Value);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				std::string getTag2Key()const;
+				void setTag2Key(const std::string& tag2Key);
+				std::string getTag5Key()const;
+				void setTag5Key(const std::string& tag5Key);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
+				std::string getTag3Key()const;
+				void setTag3Key(const std::string& tag3Key);
 				std::string getKeyPairName()const;
 				void setKeyPairName(const std::string& keyPairName);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				std::string getTag5Value()const;
+				void setTag5Value(const std::string& tag5Value);
+				std::string getTag1Key()const;
+				void setTag1Key(const std::string& tag1Key);
+				std::string getTag1Value()const;
+				void setTag1Value(const std::string& tag1Value);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getTag2Value()const;
+				void setTag2Value(const std::string& tag2Value);
+				std::string getTag4Key()const;
+				void setTag4Key(const std::string& tag4Key);
+				std::string getTag3Value()const;
+				void setTag3Value(const std::string& tag3Value);
 
             private:
+				std::string tag4Value_;
 				long resourceOwnerId_;
+				std::string tag2Key_;
+				std::string tag5Key_;
 				std::string resourceOwnerAccount_;
-				std::string regionId_;
+				std::string tag3Key_;
 				std::string keyPairName_;
 				long ownerId_;
+				std::string tag5Value_;
+				std::string tag1Key_;
+				std::string tag1Value_;
+				std::string resourceGroupId_;
+				std::string regionId_;
+				std::string tag2Value_;
+				std::string tag4Key_;
+				std::string tag3Value_;
 
 			};
 		}

+ 248 - 0
ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateRequest.h

@@ -0,0 +1,248 @@
+/*
+ * 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_CREATELAUNCHTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEREQUEST_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 CreateLaunchTemplateRequest : public RpcServiceRequest
+			{
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+				struct NetworkInterface
+				{
+					std::string primaryIpAddress;
+					std::string vSwitchId;
+					std::string securityGroupId;
+					std::string networkInterfaceName;
+					std::string description;
+				};
+				struct DataDisk
+				{
+					int size;
+					std::string snapshotId;
+					std::string category;
+					std::string encrypted;
+					std::string diskName;
+					std::string description;
+					bool deleteWithInstance;
+				};
+
+			public:
+				CreateLaunchTemplateRequest();
+				~CreateLaunchTemplateRequest();
+
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				std::string getSecurityEnhancementStrategy()const;
+				void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy);
+				std::string getNetworkType()const;
+				void setNetworkType(const std::string& networkType);
+				std::string getKeyPairName()const;
+				void setKeyPairName(const std::string& keyPairName);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				float getSpotPriceLimit()const;
+				void setSpotPriceLimit(float spotPriceLimit);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getImageOwnerAlias()const;
+				void setImageOwnerAlias(const std::string& imageOwnerAlias);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getHostName()const;
+				void setHostName(const std::string& hostName);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				int getSystemDiskIops()const;
+				void setSystemDiskIops(int systemDiskIops);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				int getPeriod()const;
+				void setPeriod(int period);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				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 getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getSpotStrategy()const;
+				void setSpotStrategy(const std::string& spotStrategy);
+				std::string getInstanceName()const;
+				void setInstanceName(const std::string& instanceName);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInternetChargeType()const;
+				void setInternetChargeType(const std::string& internetChargeType);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				int getInternetMaxBandwidthIn()const;
+				void setInternetMaxBandwidthIn(int internetMaxBandwidthIn);
+				std::string getVersionDescription()const;
+				void setVersionDescription(const std::string& versionDescription);
+				std::string getImageId()const;
+				void setImageId(const std::string& imageId);
+				std::string getIoOptimized()const;
+				void setIoOptimized(const std::string& ioOptimized);
+				std::string getSecurityGroupId()const;
+				void setSecurityGroupId(const std::string& securityGroupId);
+				int getInternetMaxBandwidthOut()const;
+				void setInternetMaxBandwidthOut(int internetMaxBandwidthOut);
+				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 getSystemDiskCategory()const;
+				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getUserData()const;
+				void setUserData(const std::string& userData);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				std::string getInstanceChargeType()const;
+				void setInstanceChargeType(const std::string& instanceChargeType);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				bool getEnableVmOsConfig()const;
+				void setEnableVmOsConfig(bool enableVmOsConfig);
+				std::vector<NetworkInterface> getNetworkInterface()const;
+				void setNetworkInterface(const std::vector<NetworkInterface>& networkInterface);
+				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 getSystemDiskDiskName()const;
+				void setSystemDiskDiskName(const std::string& systemDiskDiskName);
+				std::string getRamRoleName()const;
+				void setRamRoleName(const std::string& ramRoleName);
+				std::string getAutoReleaseTime()const;
+				void setAutoReleaseTime(const std::string& autoReleaseTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				int getSpotDuration()const;
+				void setSpotDuration(int spotDuration);
+				std::vector<DataDisk> getDataDisk()const;
+				void setDataDisk(const std::vector<DataDisk>& dataDisk);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				int getSystemDiskSize()const;
+				void setSystemDiskSize(int systemDiskSize);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getSystemDiskDescription()const;
+				void setSystemDiskDescription(const std::string& systemDiskDescription);
+
+            private:
+				std::string launchTemplateName_;
+				long resourceOwnerId_;
+				long callerParentId_;
+				std::string securityEnhancementStrategy_;
+				std::string networkType_;
+				std::string keyPairName_;
+				std::string proxy_original_source_ip_;
+				float spotPriceLimit_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string imageOwnerAlias_;
+				std::string resourceGroupId_;
+				std::string hostName_;
+				std::string securityToken_;
+				bool enable_;
+				int systemDiskIops_;
+				std::string callerBidEmail_;
+				std::vector<Tag> tag_;
+				long callerUid_;
+				int period_;
+				long ownerId_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string vSwitchId_;
+				std::string spotStrategy_;
+				std::string instanceName_;
+				std::string requestId_;
+				std::string internetChargeType_;
+				std::string zoneId_;
+				int internetMaxBandwidthIn_;
+				std::string versionDescription_;
+				std::string imageId_;
+				std::string ioOptimized_;
+				std::string securityGroupId_;
+				int internetMaxBandwidthOut_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string systemDiskCategory_;
+				std::string accessKeyId_;
+				std::string userData_;
+				std::string regionId_;
+				std::string requestContent_;
+				std::string instanceType_;
+				std::string instanceChargeType_;
+				std::string callerUidEmail_;
+				bool enableVmOsConfig_;
+				std::vector<NetworkInterface> networkInterface_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string systemDiskDiskName_;
+				std::string ramRoleName_;
+				std::string autoReleaseTime_;
+				std::string callerBid_;
+				int spotDuration_;
+				std::vector<DataDisk> dataDisk_;
+				bool proxy_trust_transport_info_;
+				int systemDiskSize_;
+				std::string vpcId_;
+				std::string systemDiskDescription_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEREQUEST_H_

+ 9 - 7
ecs/include/alibabacloud/ecs/model/AttachVolumeResult.h → ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_ATTACHVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_ATTACHVOLUMERESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATERESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,21 +29,23 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT AttachVolumeResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT CreateLaunchTemplateResult : public ServiceResult
 			{
 			public:
 
 
-				AttachVolumeResult();
-				explicit AttachVolumeResult(const std::string &payload);
-				~AttachVolumeResult();
+				CreateLaunchTemplateResult();
+				explicit CreateLaunchTemplateResult(const std::string &payload);
+				~CreateLaunchTemplateResult();
+				std::string getLaunchTemplateId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string launchTemplateId_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_ATTACHVOLUMERESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATERESULT_H_

+ 251 - 0
ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateVersionRequest.h

@@ -0,0 +1,251 @@
+/*
+ * 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_CREATELAUNCHTEMPLATEVERSIONREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEVERSIONREQUEST_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 CreateLaunchTemplateVersionRequest : public RpcServiceRequest
+			{
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+				struct NetworkInterface
+				{
+					std::string primaryIpAddress;
+					std::string vSwitchId;
+					std::string securityGroupId;
+					std::string networkInterfaceName;
+					std::string description;
+				};
+				struct DataDisk
+				{
+					int size;
+					std::string snapshotId;
+					std::string category;
+					std::string encrypted;
+					std::string diskName;
+					std::string description;
+					bool deleteWithInstance;
+				};
+
+			public:
+				CreateLaunchTemplateVersionRequest();
+				~CreateLaunchTemplateVersionRequest();
+
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				std::string getSecurityEnhancementStrategy()const;
+				void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy);
+				std::string getNetworkType()const;
+				void setNetworkType(const std::string& networkType);
+				std::string getKeyPairName()const;
+				void setKeyPairName(const std::string& keyPairName);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				float getSpotPriceLimit()const;
+				void setSpotPriceLimit(float spotPriceLimit);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getImageOwnerAlias()const;
+				void setImageOwnerAlias(const std::string& imageOwnerAlias);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getHostName()const;
+				void setHostName(const std::string& hostName);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				int getSystemDiskIops()const;
+				void setSystemDiskIops(int systemDiskIops);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				int getPeriod()const;
+				void setPeriod(int period);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				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 getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getSpotStrategy()const;
+				void setSpotStrategy(const std::string& spotStrategy);
+				std::string getInstanceName()const;
+				void setInstanceName(const std::string& instanceName);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInternetChargeType()const;
+				void setInternetChargeType(const std::string& internetChargeType);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				int getInternetMaxBandwidthIn()const;
+				void setInternetMaxBandwidthIn(int internetMaxBandwidthIn);
+				std::string getVersionDescription()const;
+				void setVersionDescription(const std::string& versionDescription);
+				std::string getImageId()const;
+				void setImageId(const std::string& imageId);
+				std::string getIoOptimized()const;
+				void setIoOptimized(const std::string& ioOptimized);
+				std::string getSecurityGroupId()const;
+				void setSecurityGroupId(const std::string& securityGroupId);
+				int getInternetMaxBandwidthOut()const;
+				void setInternetMaxBandwidthOut(int internetMaxBandwidthOut);
+				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 getSystemDiskCategory()const;
+				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getUserData()const;
+				void setUserData(const std::string& userData);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				std::string getInstanceChargeType()const;
+				void setInstanceChargeType(const std::string& instanceChargeType);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				bool getEnableVmOsConfig()const;
+				void setEnableVmOsConfig(bool enableVmOsConfig);
+				std::vector<NetworkInterface> getNetworkInterface()const;
+				void setNetworkInterface(const std::vector<NetworkInterface>& networkInterface);
+				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 getSystemDiskDiskName()const;
+				void setSystemDiskDiskName(const std::string& systemDiskDiskName);
+				std::string getRamRoleName()const;
+				void setRamRoleName(const std::string& ramRoleName);
+				std::string getAutoReleaseTime()const;
+				void setAutoReleaseTime(const std::string& autoReleaseTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				int getSpotDuration()const;
+				void setSpotDuration(int spotDuration);
+				std::vector<DataDisk> getDataDisk()const;
+				void setDataDisk(const std::vector<DataDisk>& dataDisk);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				int getSystemDiskSize()const;
+				void setSystemDiskSize(int systemDiskSize);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getSystemDiskDescription()const;
+				void setSystemDiskDescription(const std::string& systemDiskDescription);
+
+            private:
+				std::string launchTemplateName_;
+				long resourceOwnerId_;
+				long callerParentId_;
+				std::string securityEnhancementStrategy_;
+				std::string networkType_;
+				std::string keyPairName_;
+				std::string proxy_original_source_ip_;
+				float spotPriceLimit_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string imageOwnerAlias_;
+				std::string resourceGroupId_;
+				std::string hostName_;
+				std::string securityToken_;
+				bool enable_;
+				int systemDiskIops_;
+				std::string callerBidEmail_;
+				std::vector<Tag> tag_;
+				long callerUid_;
+				int period_;
+				std::string launchTemplateId_;
+				long ownerId_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string vSwitchId_;
+				std::string spotStrategy_;
+				std::string instanceName_;
+				std::string requestId_;
+				std::string internetChargeType_;
+				std::string zoneId_;
+				int internetMaxBandwidthIn_;
+				std::string versionDescription_;
+				std::string imageId_;
+				std::string ioOptimized_;
+				std::string securityGroupId_;
+				int internetMaxBandwidthOut_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string systemDiskCategory_;
+				std::string accessKeyId_;
+				std::string userData_;
+				std::string regionId_;
+				std::string requestContent_;
+				std::string instanceType_;
+				std::string instanceChargeType_;
+				std::string callerUidEmail_;
+				bool enableVmOsConfig_;
+				std::vector<NetworkInterface> networkInterface_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string systemDiskDiskName_;
+				std::string ramRoleName_;
+				std::string autoReleaseTime_;
+				std::string callerBid_;
+				int spotDuration_;
+				std::vector<DataDisk> dataDisk_;
+				bool proxy_trust_transport_info_;
+				int systemDiskSize_;
+				std::string vpcId_;
+				std::string systemDiskDescription_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEVERSIONREQUEST_H_

+ 9 - 9
ecs/include/alibabacloud/ecs/model/CancelUserEventResult.h → ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateVersionResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CANCELUSEREVENTRESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_CANCELUSEREVENTRESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEVERSIONRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEVERSIONRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,23 +29,23 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CancelUserEventResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT CreateLaunchTemplateVersionResult : public ServiceResult
 			{
 			public:
 
 
-				CancelUserEventResult();
-				explicit CancelUserEventResult(const std::string &payload);
-				~CancelUserEventResult();
-				std::string getEventId()const;
+				CreateLaunchTemplateVersionResult();
+				explicit CreateLaunchTemplateVersionResult(const std::string &payload);
+				~CreateLaunchTemplateVersionResult();
+				long getLaunchTemplateVersionNumber()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string eventId_;
+				long launchTemplateVersionNumber_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CANCELUSEREVENTRESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATELAUNCHTEMPLATEVERSIONRESULT_H_

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

@@ -63,6 +63,8 @@ namespace AlibabaCloud
 				void setTag1Key(const std::string& tag1Key);
 				std::string getTag1Value()const;
 				void setTag1Value(const std::string& tag1Value);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				std::string getVpcId()const;
@@ -89,6 +91,7 @@ namespace AlibabaCloud
 				std::string tag5Value_;
 				std::string tag1Key_;
 				std::string tag1Value_;
+				std::string resourceGroupId_;
 				std::string regionId_;
 				std::string vpcId_;
 				std::string tag2Value_;

+ 0 - 114
ecs/include/alibabacloud/ecs/model/CreateVolumeRequest.h

@@ -1,114 +0,0 @@
-/*
- * 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_CREATEVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_CREATEVOLUMEREQUEST_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 CreateVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				CreateVolumeRequest();
-				~CreateVolumeRequest();
-
-				std::string getTag4Value()const;
-				void setTag4Value(const std::string& tag4Value);
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getSnapshotId()const;
-				void setSnapshotId(const std::string& snapshotId);
-				std::string getTag2Key()const;
-				void setTag2Key(const std::string& tag2Key);
-				std::string getVolumeName()const;
-				void setVolumeName(const std::string& volumeName);
-				bool getVolumeEncrypted()const;
-				void setVolumeEncrypted(bool volumeEncrypted);
-				std::string getTag5Key()const;
-				void setTag5Key(const std::string& tag5Key);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getClientToken()const;
-				void setClientToken(const std::string& clientToken);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getDescription()const;
-				void setDescription(const std::string& description);
-				std::string getTag3Key()const;
-				void setTag3Key(const std::string& tag3Key);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-				std::string getTag5Value()const;
-				void setTag5Value(const std::string& tag5Value);
-				std::string getTag1Key()const;
-				void setTag1Key(const std::string& tag1Key);
-				std::string getTag1Value()const;
-				void setTag1Value(const std::string& tag1Value);
-				std::string getVolumeCategory()const;
-				void setVolumeCategory(const std::string& volumeCategory);
-				int getSize()const;
-				void setSize(int size);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getTag2Value()const;
-				void setTag2Value(const std::string& tag2Value);
-				std::string getZoneId()const;
-				void setZoneId(const std::string& zoneId);
-				std::string getTag4Key()const;
-				void setTag4Key(const std::string& tag4Key);
-				std::string getTag3Value()const;
-				void setTag3Value(const std::string& tag3Value);
-
-            private:
-				std::string tag4Value_;
-				long resourceOwnerId_;
-				std::string snapshotId_;
-				std::string tag2Key_;
-				std::string volumeName_;
-				bool volumeEncrypted_;
-				std::string tag5Key_;
-				std::string resourceOwnerAccount_;
-				std::string clientToken_;
-				std::string ownerAccount_;
-				std::string description_;
-				std::string tag3Key_;
-				long ownerId_;
-				std::string tag5Value_;
-				std::string tag1Key_;
-				std::string tag1Value_;
-				std::string volumeCategory_;
-				int size_;
-				std::string regionId_;
-				std::string tag2Value_;
-				std::string zoneId_;
-				std::string tag4Key_;
-				std::string tag3Value_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_CREATEVOLUMEREQUEST_H_

+ 18 - 18
ecs/include/alibabacloud/ecs/model/CreateUserEventRequest.h → ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CREATEUSEREVENTREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_CREATEUSEREVENTREQUEST_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,13 +28,15 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CreateUserEventRequest : public RpcServiceRequest
+			class ALIBABACLOUD_ECS_EXPORT DeleteLaunchTemplateRequest : public RpcServiceRequest
 			{
 
 			public:
-				CreateUserEventRequest();
-				~CreateUserEventRequest();
+				DeleteLaunchTemplateRequest();
+				~DeleteLaunchTemplateRequest();
 
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				long getCallerParentId()const;
@@ -49,6 +51,8 @@ namespace AlibabaCloud
 				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;
@@ -59,20 +63,18 @@ namespace AlibabaCloud
 				void setRequestContent(const std::string& requestContent);
 				std::string getCallerBidEmail()const;
 				void setCallerBidEmail(const std::string& callerBidEmail);
-				std::string getPlanTime()const;
-				void setPlanTime(const std::string& planTime);
 				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 getExpireTime()const;
-				void setExpireTime(const std::string& expireTime);
-				std::string getResourceId()const;
-				void setResourceId(const std::string& resourceId);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
 				std::string getCallerBid()const;
 				void setCallerBid(const std::string& callerBid);
 				long getOwnerId()const;
@@ -85,10 +87,9 @@ namespace AlibabaCloud
 				void setSecurity_transport(bool security_transport);
 				std::string getRequestId()const;
 				void setRequestId(const std::string& requestId);
-				std::string getEventType()const;
-				void setEventType(const std::string& eventType);
 
             private:
+				std::string launchTemplateName_;
 				long resourceOwnerId_;
 				long callerParentId_;
 				bool proxy_original_security_transport_;
@@ -96,28 +97,27 @@ namespace AlibabaCloud
 				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 callerBidEmail_;
-				std::string planTime_;
 				std::string callerUidEmail_;
 				long callerUid_;
 				std::string app_ip_;
-				std::string expireTime_;
-				std::string resourceId_;
+				std::string launchTemplateId_;
 				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 requestId_;
-				std::string eventType_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CREATEUSEREVENTREQUEST_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEREQUEST_H_

+ 7 - 7
ecs/include/alibabacloud/ecs/model/ReInitVolumeResult.h → ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_REINITVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_REINITVOLUMERESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATERESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,14 +29,14 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT ReInitVolumeResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT DeleteLaunchTemplateResult : public ServiceResult
 			{
 			public:
 
 
-				ReInitVolumeResult();
-				explicit ReInitVolumeResult(const std::string &payload);
-				~ReInitVolumeResult();
+				DeleteLaunchTemplateResult();
+				explicit DeleteLaunchTemplateResult(const std::string &payload);
+				~DeleteLaunchTemplateResult();
 
 			protected:
 				void parse(const std::string &payload);
@@ -46,4 +46,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_REINITVOLUMERESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATERESULT_H_

+ 21 - 18
ecs/include/alibabacloud/ecs/model/ModifyUserEventAttributeRequest.h → ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYUSEREVENTATTRIBUTEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_MODIFYUSEREVENTATTRIBUTEREQUEST_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEVERSIONREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEVERSIONREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,21 +28,23 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT ModifyUserEventAttributeRequest : public RpcServiceRequest
+			class ALIBABACLOUD_ECS_EXPORT DeleteLaunchTemplateVersionRequest : public RpcServiceRequest
 			{
 
 			public:
-				ModifyUserEventAttributeRequest();
-				~ModifyUserEventAttributeRequest();
+				DeleteLaunchTemplateVersionRequest();
+				~DeleteLaunchTemplateVersionRequest();
 
-				std::string getEventId()const;
-				void setEventId(const std::string& eventId);
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
 				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::vector<long> getDeleteVersion()const;
+				void setDeleteVersion(const std::vector<long>& deleteVersion);
 				std::string getProxy_original_source_ip()const;
 				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
 				std::string getOwnerIdLoginEmail()const;
@@ -51,6 +53,8 @@ namespace AlibabaCloud
 				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;
@@ -67,14 +71,14 @@ namespace AlibabaCloud
 				void setCallerUid(long callerUid);
 				std::string getApp_ip()const;
 				void setApp_ip(const std::string& app_ip);
-				std::string getResourceId()const;
-				void setResourceId(const std::string& resourceId);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
 				std::string getCallerBid()const;
 				void setCallerBid(const std::string& callerBid);
-				std::string getNewPlanTime()const;
-				void setNewPlanTime(const std::string& newPlanTime);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				bool getProxy_trust_transport_info()const;
@@ -83,20 +87,20 @@ namespace AlibabaCloud
 				void setAk_mfa_present(bool ak_mfa_present);
 				bool getSecurity_transport()const;
 				void setSecurity_transport(bool security_transport);
-				std::string getNewExpireTime()const;
-				void setNewExpireTime(const std::string& newExpireTime);
 				std::string getRequestId()const;
 				void setRequestId(const std::string& requestId);
 
             private:
-				std::string eventId_;
+				std::string launchTemplateName_;
 				long resourceOwnerId_;
 				long callerParentId_;
 				bool proxy_original_security_transport_;
+				std::vector<long> deleteVersion_;
 				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_;
@@ -105,19 +109,18 @@ namespace AlibabaCloud
 				std::string callerUidEmail_;
 				long callerUid_;
 				std::string app_ip_;
-				std::string resourceId_;
+				std::string launchTemplateId_;
 				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
 				std::string callerBid_;
-				std::string newPlanTime_;
 				long ownerId_;
 				bool proxy_trust_transport_info_;
 				bool ak_mfa_present_;
 				bool security_transport_;
-				std::string newExpireTime_;
 				std::string requestId_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYUSEREVENTATTRIBUTEREQUEST_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEVERSIONREQUEST_H_

+ 7 - 9
ecs/include/alibabacloud/ecs/model/CreateVolumeResult.h → ecs/include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CREATEVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_CREATEVOLUMERESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEVERSIONRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEVERSIONRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,23 +29,21 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CreateVolumeResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT DeleteLaunchTemplateVersionResult : public ServiceResult
 			{
 			public:
 
 
-				CreateVolumeResult();
-				explicit CreateVolumeResult(const std::string &payload);
-				~CreateVolumeResult();
-				std::string getVolumeId()const;
+				DeleteLaunchTemplateVersionResult();
+				explicit DeleteLaunchTemplateVersionResult(const std::string &payload);
+				~DeleteLaunchTemplateVersionResult();
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string volumeId_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CREATEVOLUMERESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETELAUNCHTEMPLATEVERSIONRESULT_H_

+ 0 - 63
ecs/include/alibabacloud/ecs/model/DeleteVolumeRequest.h

@@ -1,63 +0,0 @@
-/*
- * 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_DELETEVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_DELETEVOLUMEREQUEST_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 DeleteVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				DeleteVolumeRequest();
-				~DeleteVolumeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_DELETEVOLUMEREQUEST_H_

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

@@ -1,49 +0,0 @@
-/*
- * 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_DELETEVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_DELETEVOLUMERESULT_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 DeleteVolumeResult : public ServiceResult
-			{
-			public:
-
-
-				DeleteVolumeResult();
-				explicit DeleteVolumeResult(const std::string &payload);
-				~DeleteVolumeResult();
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_DELETEVOLUMERESULT_H_

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

@@ -54,6 +54,7 @@ namespace AlibabaCloud
 						EventType eventType;
 						std::string eventTime;
 						std::string eventId;
+						std::string eventEndTime;
 					};
 					Status status;
 					std::vector<DiskFullStatusType::DiskEventType> diskEventSet;

+ 39 - 6
ecs/include/alibabacloud/ecs/model/DescribeKeyPairsRequest.h

@@ -35,32 +35,65 @@ namespace AlibabaCloud
 				DescribeKeyPairsRequest();
 				~DescribeKeyPairsRequest();
 
+				std::string getTag4Value()const;
+				void setTag4Value(const std::string& tag4Value);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				std::string getTag2Key()const;
+				void setTag2Key(const std::string& tag2Key);
+				std::string getTag5Key()const;
+				void setTag5Key(const std::string& tag5Key);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
 				std::string getKeyPairFingerPrint()const;
 				void setKeyPairFingerPrint(const std::string& keyPairFingerPrint);
-				int getPageSize()const;
-				void setPageSize(int pageSize);
+				std::string getTag3Key()const;
+				void setTag3Key(const std::string& tag3Key);
 				std::string getKeyPairName()const;
 				void setKeyPairName(const std::string& keyPairName);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				std::string getTag5Value()const;
+				void setTag5Value(const std::string& tag5Value);
 				int getPageNumber()const;
 				void setPageNumber(int pageNumber);
+				std::string getTag1Key()const;
+				void setTag1Key(const std::string& tag1Key);
+				std::string getTag1Value()const;
+				void setTag1Value(const std::string& tag1Value);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getTag2Value()const;
+				void setTag2Value(const std::string& tag2Value);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getTag4Key()const;
+				void setTag4Key(const std::string& tag4Key);
+				std::string getTag3Value()const;
+				void setTag3Value(const std::string& tag3Value);
 
             private:
+				std::string tag4Value_;
 				long resourceOwnerId_;
+				std::string tag2Key_;
+				std::string tag5Key_;
 				std::string resourceOwnerAccount_;
-				std::string regionId_;
 				std::string keyPairFingerPrint_;
-				int pageSize_;
+				std::string tag3Key_;
 				std::string keyPairName_;
 				long ownerId_;
+				std::string tag5Value_;
 				int pageNumber_;
+				std::string tag1Key_;
+				std::string tag1Value_;
+				std::string resourceGroupId_;
+				std::string regionId_;
+				std::string tag2Value_;
+				int pageSize_;
+				std::string tag4Key_;
+				std::string tag3Value_;
 
 			};
 		}

+ 144 - 0
ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsRequest.h

@@ -0,0 +1,144 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATEVERSIONSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATEVERSIONSREQUEST_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 DescribeLaunchTemplateVersionsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLaunchTemplateVersionsRequest();
+				~DescribeLaunchTemplateVersionsRequest();
+
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
+				long getMaxVersion()const;
+				void setMaxVersion(long maxVersion);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getDefaultVersion()const;
+				void setDefaultVersion(bool defaultVersion);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				long getMinVersion()const;
+				void setMinVersion(long minVersion);
+				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 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);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::vector<long> getLaunchTemplateVersion()const;
+				void setLaunchTemplateVersion(const std::vector<long>& launchTemplateVersion);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				bool getDetailFlag()const;
+				void setDetailFlag(bool detailFlag);
+
+            private:
+				std::string launchTemplateName_;
+				long maxVersion_;
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool defaultVersion_;
+				bool proxy_original_security_transport_;
+				long minVersion_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				int pageSize_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string launchTemplateId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				std::vector<long> launchTemplateVersion_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				bool detailFlag_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATEVERSIONSREQUEST_H_

+ 130 - 0
ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsResult.h

@@ -0,0 +1,130 @@
+/*
+ * 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_DESCRIBELAUNCHTEMPLATEVERSIONSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATEVERSIONSRESULT_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 DescribeLaunchTemplateVersionsResult : public ServiceResult
+			{
+			public:
+				struct LaunchTemplateVersionSet
+				{
+					struct LaunchTemplateData
+					{
+						struct DataDisk
+						{
+							std::string snapshotId;
+							std::string category;
+							std::string description;
+							int size;
+							std::string encrypted;
+							bool deleteWithInstance;
+							std::string diskName;
+						};
+						struct NetworkInterface
+						{
+							std::string description;
+							std::string vSwitchId;
+							std::string securityGroupId;
+							std::string networkInterfaceName;
+							std::string primaryIpAddress;
+						};
+						struct InstanceTag
+						{
+							std::string value;
+							std::string key;
+						};
+						std::string imageOwnerAlias;
+						std::string description;
+						std::vector<DataDisk> dataDisks;
+						std::string resourceGroupId;
+						int systemDiskSize;
+						std::string systemDiskDescription;
+						std::string userData;
+						std::string instanceChargeType;
+						int spotDuration;
+						std::string ramRoleName;
+						std::string networkType;
+						std::vector<NetworkInterface> networkInterfaces;
+						std::string imageId;
+						std::string systemDiskDiskName;
+						float spotPriceLimit;
+						std::string instanceType;
+						std::vector<InstanceTag> tags;
+						std::string hostName;
+						std::string spotStrategy;
+						std::string keyPairName;
+						std::string ioOptimized;
+						std::string zoneId;
+						std::string securityGroupId;
+						std::string vSwitchId;
+						int period;
+						std::string systemDiskCategory;
+						std::string internetChargeType;
+						std::string instanceName;
+						int internetMaxBandwidthOut;
+						bool enableVmOsConfig;
+						std::string vpcId;
+						int internetMaxBandwidthIn;
+						int systemDiskIops;
+						bool securityEnhancementStrategy;
+						std::string autoReleaseTime;
+					};
+					LaunchTemplateData launchTemplateData;
+					std::string launchTemplateName;
+					std::string versionDescription;
+					std::string createdBy;
+					std::string modifiedTime;
+					std::string createTime;
+					bool defaultVersion;
+					std::string launchTemplateId;
+					long versionNumber;
+				};
+
+
+				DescribeLaunchTemplateVersionsResult();
+				explicit DescribeLaunchTemplateVersionsResult(const std::string &payload);
+				~DescribeLaunchTemplateVersionsResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<LaunchTemplateVersionSet> getLaunchTemplateVersionSets()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<LaunchTemplateVersionSet> launchTemplateVersionSets_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATEVERSIONSRESULT_H_

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

@@ -0,0 +1,129 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATESREQUEST_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 DescribeLaunchTemplatesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLaunchTemplatesRequest();
+				~DescribeLaunchTemplatesRequest();
+
+				std::vector<std::string> getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::vector<std::string>& launchTemplateName);
+				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 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);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::vector<std::string> getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::vector<std::string>& launchTemplateId);
+				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 getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				std::vector<std::string> launchTemplateName_;
+				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 resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				int pageSize_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::vector<std::string> launchTemplateId_;
+				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 requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATESREQUEST_H_

+ 67 - 0
ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplatesResult.h

@@ -0,0 +1,67 @@
+/*
+ * 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_DESCRIBELAUNCHTEMPLATESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATESRESULT_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 DescribeLaunchTemplatesResult : public ServiceResult
+			{
+			public:
+				struct LaunchTemplateSet
+				{
+					std::string launchTemplateName;
+					std::string createdBy;
+					std::string modifiedTime;
+					long latestVersionNumber;
+					std::string createTime;
+					std::string launchTemplateId;
+					long defaultVersionNumber;
+				};
+
+
+				DescribeLaunchTemplatesResult();
+				explicit DescribeLaunchTemplatesResult(const std::string &payload);
+				~DescribeLaunchTemplatesResult();
+				std::vector<LaunchTemplateSet> getLaunchTemplateSets()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<LaunchTemplateSet> launchTemplateSets_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBELAUNCHTEMPLATESRESULT_H_

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

@@ -57,6 +57,8 @@ namespace AlibabaCloud
 				void setPageNumber(int pageNumber);
 				std::string getTag1Value()const;
 				void setTag1Value(const std::string& tag1Value);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				int getPageSize()const;
@@ -98,6 +100,7 @@ namespace AlibabaCloud
 				std::string securityGroupName_;
 				int pageNumber_;
 				std::string tag1Value_;
+				std::string resourceGroupId_;
 				std::string regionId_;
 				int pageSize_;
 				std::string tag3Value_;

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

@@ -1,123 +0,0 @@
-/*
- * 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_DESCRIBEVOLUMESREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_DESCRIBEVOLUMESREQUEST_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 DescribeVolumesRequest : public RpcServiceRequest
-			{
-
-			public:
-				DescribeVolumesRequest();
-				~DescribeVolumesRequest();
-
-				std::string getTag4Value()const;
-				void setTag4Value(const std::string& tag4Value);
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getSnapshotId()const;
-				void setSnapshotId(const std::string& snapshotId);
-				std::string getTag2Key()const;
-				void setTag2Key(const std::string& tag2Key);
-				std::string getAutoSnapshotPolicyId()const;
-				void setAutoSnapshotPolicyId(const std::string& autoSnapshotPolicyId);
-				std::string getTag3Key()const;
-				void setTag3Key(const std::string& tag3Key);
-				int getPageNumber()const;
-				void setPageNumber(int pageNumber);
-				std::string getTag1Value()const;
-				void setTag1Value(const std::string& tag1Value);
-				std::string getLockReason()const;
-				void setLockReason(const std::string& lockReason);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				int getPageSize()const;
-				void setPageSize(int pageSize);
-				std::string getTag3Value()const;
-				void setTag3Value(const std::string& tag3Value);
-				std::string getTag5Key()const;
-				void setTag5Key(const std::string& tag5Key);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				bool getEnableAutomatedSnapshotPolicy()const;
-				void setEnableAutomatedSnapshotPolicy(bool enableAutomatedSnapshotPolicy);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-				std::string getTag5Value()const;
-				void setTag5Value(const std::string& tag5Value);
-				std::string getTag1Key()const;
-				void setTag1Key(const std::string& tag1Key);
-				std::string getInstanceId()const;
-				void setInstanceId(const std::string& instanceId);
-				std::string getTag2Value()const;
-				void setTag2Value(const std::string& tag2Value);
-				std::string getZoneId()const;
-				void setZoneId(const std::string& zoneId);
-				std::string getTag4Key()const;
-				void setTag4Key(const std::string& tag4Key);
-				std::string getVolumeIds()const;
-				void setVolumeIds(const std::string& volumeIds);
-				std::string getCategory()const;
-				void setCategory(const std::string& category);
-				std::string getStatus()const;
-				void setStatus(const std::string& status);
-
-            private:
-				std::string tag4Value_;
-				long resourceOwnerId_;
-				std::string snapshotId_;
-				std::string tag2Key_;
-				std::string autoSnapshotPolicyId_;
-				std::string tag3Key_;
-				int pageNumber_;
-				std::string tag1Value_;
-				std::string lockReason_;
-				std::string regionId_;
-				int pageSize_;
-				std::string tag3Value_;
-				std::string tag5Key_;
-				std::string resourceOwnerAccount_;
-				std::string ownerAccount_;
-				bool enableAutomatedSnapshotPolicy_;
-				long ownerId_;
-				std::string tag5Value_;
-				std::string tag1Key_;
-				std::string instanceId_;
-				std::string tag2Value_;
-				std::string zoneId_;
-				std::string tag4Key_;
-				std::string volumeIds_;
-				std::string category_;
-				std::string status_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEVOLUMESREQUEST_H_

+ 0 - 94
ecs/include/alibabacloud/ecs/model/DescribeVolumesResult.h

@@ -1,94 +0,0 @@
-/*
- * 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_DESCRIBEVOLUMESRESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_DESCRIBEVOLUMESRESULT_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 DescribeVolumesResult : public ServiceResult
-			{
-			public:
-				struct Volume
-				{
-					struct OperationLock
-					{
-						std::string lockReason;
-					};
-					struct MountInstance
-					{
-						std::string attachedTime;
-						std::string instanceId;
-						std::string device;
-					};
-					struct Tag
-					{
-						std::string tagKey;
-						std::string tagValue;
-					};
-					std::string status;
-					std::string volumeName;
-					std::string description;
-					std::string category;
-					std::string zoneId;
-					std::string sourceSnapshotId;
-					std::string volumeChargeType;
-					int size;
-					bool encrypted;
-					std::string snapshotLinkId;
-					bool enableAutomatedSnapshotPolicy;
-					std::string autoSnapshotPolicyId;
-					std::vector<Volume::OperationLock> operationLocks;
-					std::string volumeId;
-					int mountInstanceNum;
-					std::vector<Volume::MountInstance> mountInstances;
-					std::string creationTime;
-					std::string regionId;
-					std::vector<Volume::Tag> tags;
-				};
-
-
-				DescribeVolumesResult();
-				explicit DescribeVolumesResult(const std::string &payload);
-				~DescribeVolumesResult();
-				int getTotalCount()const;
-				std::vector<Volume> getVolumes()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-				int totalCount_;
-				std::vector<Volume> volumes_;
-				int pageSize_;
-				int pageNumber_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEVOLUMESRESULT_H_

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

@@ -1,66 +0,0 @@
-/*
- * 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_DETACHVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_DETACHVOLUMEREQUEST_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 DetachVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				DetachVolumeRequest();
-				~DetachVolumeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getInstanceId()const;
-				void setInstanceId(const std::string& instanceId);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string instanceId_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_DETACHVOLUMEREQUEST_H_

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

@@ -1,49 +0,0 @@
-/*
- * 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_DETACHVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_DETACHVOLUMERESULT_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 DetachVolumeResult : public ServiceResult
-			{
-			public:
-
-
-				DetachVolumeResult();
-				explicit DetachVolumeResult(const std::string &payload);
-				~DetachVolumeResult();
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_DETACHVOLUMERESULT_H_

+ 21 - 12
ecs/include/alibabacloud/ecs/model/CancelUserEventRequest.h → ecs/include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CANCELUSEREVENTREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_CANCELUSEREVENTREQUEST_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYLAUNCHTEMPLATEDEFAULTVERSIONREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYLAUNCHTEMPLATEDEFAULTVERSIONREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,15 +28,15 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CancelUserEventRequest : public RpcServiceRequest
+			class ALIBABACLOUD_ECS_EXPORT ModifyLaunchTemplateDefaultVersionRequest : public RpcServiceRequest
 			{
 
 			public:
-				CancelUserEventRequest();
-				~CancelUserEventRequest();
+				ModifyLaunchTemplateDefaultVersionRequest();
+				~ModifyLaunchTemplateDefaultVersionRequest();
 
-				std::string getEventId()const;
-				void setEventId(const std::string& eventId);
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				long getCallerParentId()const;
@@ -51,6 +51,8 @@ namespace AlibabaCloud
 				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;
@@ -67,10 +69,12 @@ namespace AlibabaCloud
 				void setCallerUid(long callerUid);
 				std::string getApp_ip()const;
 				void setApp_ip(const std::string& app_ip);
-				std::string getResourceId()const;
-				void setResourceId(const std::string& resourceId);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
 				std::string getCallerBid()const;
 				void setCallerBid(const std::string& callerBid);
 				long getOwnerId()const;
@@ -81,11 +85,13 @@ namespace AlibabaCloud
 				void setAk_mfa_present(bool ak_mfa_present);
 				bool getSecurity_transport()const;
 				void setSecurity_transport(bool security_transport);
+				long getDefaultVersionNumber()const;
+				void setDefaultVersionNumber(long defaultVersionNumber);
 				std::string getRequestId()const;
 				void setRequestId(const std::string& requestId);
 
             private:
-				std::string eventId_;
+				std::string launchTemplateName_;
 				long resourceOwnerId_;
 				long callerParentId_;
 				bool proxy_original_security_transport_;
@@ -93,6 +99,7 @@ namespace AlibabaCloud
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				std::string resourceGroupId_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;
@@ -101,17 +108,19 @@ namespace AlibabaCloud
 				std::string callerUidEmail_;
 				long callerUid_;
 				std::string app_ip_;
-				std::string resourceId_;
+				std::string launchTemplateId_;
 				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
 				std::string callerBid_;
 				long ownerId_;
 				bool proxy_trust_transport_info_;
 				bool ak_mfa_present_;
 				bool security_transport_;
+				long defaultVersionNumber_;
 				std::string requestId_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CANCELUSEREVENTREQUEST_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYLAUNCHTEMPLATEDEFAULTVERSIONREQUEST_H_

+ 7 - 9
ecs/include/alibabacloud/ecs/model/CreateUserEventResult.h → ecs/include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CREATEUSEREVENTRESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_CREATEUSEREVENTRESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYLAUNCHTEMPLATEDEFAULTVERSIONRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYLAUNCHTEMPLATEDEFAULTVERSIONRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,23 +29,21 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CreateUserEventResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT ModifyLaunchTemplateDefaultVersionResult : public ServiceResult
 			{
 			public:
 
 
-				CreateUserEventResult();
-				explicit CreateUserEventResult(const std::string &payload);
-				~CreateUserEventResult();
-				std::string getEventId()const;
+				ModifyLaunchTemplateDefaultVersionResult();
+				explicit ModifyLaunchTemplateDefaultVersionResult(const std::string &payload);
+				~ModifyLaunchTemplateDefaultVersionResult();
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string eventId_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CREATEUSEREVENTRESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYLAUNCHTEMPLATEDEFAULTVERSIONRESULT_H_

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

@@ -1,51 +0,0 @@
-/*
- * 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_MODIFYUSEREVENTATTRIBUTERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_MODIFYUSEREVENTATTRIBUTERESULT_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 ModifyUserEventAttributeResult : public ServiceResult
-			{
-			public:
-
-
-				ModifyUserEventAttributeResult();
-				explicit ModifyUserEventAttributeResult(const std::string &payload);
-				~ModifyUserEventAttributeResult();
-				std::string getEventId()const;
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-				std::string eventId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYUSEREVENTATTRIBUTERESULT_H_

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

@@ -1,69 +0,0 @@
-/*
- * 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_MODIFYVOLUMEATTRIBUTEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_MODIFYVOLUMEATTRIBUTEREQUEST_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 ModifyVolumeAttributeRequest : public RpcServiceRequest
-			{
-
-			public:
-				ModifyVolumeAttributeRequest();
-				~ModifyVolumeAttributeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getVolumeName()const;
-				void setVolumeName(const std::string& volumeName);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				std::string getDescription()const;
-				void setDescription(const std::string& description);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string volumeName_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				std::string description_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYVOLUMEATTRIBUTEREQUEST_H_

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

@@ -1,49 +0,0 @@
-/*
- * 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_MODIFYVOLUMEATTRIBUTERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_MODIFYVOLUMEATTRIBUTERESULT_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 ModifyVolumeAttributeResult : public ServiceResult
-			{
-			public:
-
-
-				ModifyVolumeAttributeResult();
-				explicit ModifyVolumeAttributeResult(const std::string &payload);
-				~ModifyVolumeAttributeResult();
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYVOLUMEATTRIBUTERESULT_H_

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

@@ -1,66 +0,0 @@
-/*
- * 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_REINITVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_REINITVOLUMEREQUEST_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 ReInitVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				ReInitVolumeRequest();
-				~ReInitVolumeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getPassword()const;
-				void setPassword(const std::string& password);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string password_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_REINITVOLUMEREQUEST_H_

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

@@ -1,69 +0,0 @@
-/*
- * 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_RESIZEVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_RESIZEVOLUMEREQUEST_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 ResizeVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				ResizeVolumeRequest();
-				~ResizeVolumeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getClientToken()const;
-				void setClientToken(const std::string& clientToken);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				int getNewSize()const;
-				void setNewSize(int newSize);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string clientToken_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				int newSize_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_RESIZEVOLUMEREQUEST_H_

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

@@ -1,49 +0,0 @@
-/*
- * 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_RESIZEVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_RESIZEVOLUMERESULT_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 ResizeVolumeResult : public ServiceResult
-			{
-			public:
-
-
-				ResizeVolumeResult();
-				explicit ResizeVolumeResult(const std::string &payload);
-				~ResizeVolumeResult();
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_RESIZEVOLUMERESULT_H_

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

@@ -1,66 +0,0 @@
-/*
- * 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_ROLLBACKVOLUMEREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_ROLLBACKVOLUMEREQUEST_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 RollbackVolumeRequest : public RpcServiceRequest
-			{
-
-			public:
-				RollbackVolumeRequest();
-				~RollbackVolumeRequest();
-
-				long getResourceOwnerId()const;
-				void setResourceOwnerId(long resourceOwnerId);
-				std::string getSnapshotId()const;
-				void setSnapshotId(const std::string& snapshotId);
-				std::string getResourceOwnerAccount()const;
-				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getOwnerAccount()const;
-				void setOwnerAccount(const std::string& ownerAccount);
-				std::string getVolumeId()const;
-				void setVolumeId(const std::string& volumeId);
-				long getOwnerId()const;
-				void setOwnerId(long ownerId);
-
-            private:
-				long resourceOwnerId_;
-				std::string snapshotId_;
-				std::string resourceOwnerAccount_;
-				std::string regionId_;
-				std::string ownerAccount_;
-				std::string volumeId_;
-				long ownerId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_ROLLBACKVOLUMEREQUEST_H_

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

@@ -1,49 +0,0 @@
-/*
- * 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_ROLLBACKVOLUMERESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_ROLLBACKVOLUMERESULT_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 RollbackVolumeResult : public ServiceResult
-			{
-			public:
-
-
-				RollbackVolumeResult();
-				explicit RollbackVolumeResult(const std::string &payload);
-				~RollbackVolumeResult();
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ECS_MODEL_ROLLBACKVOLUMERESULT_H_

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

@@ -51,6 +51,7 @@ namespace AlibabaCloud
 					std::string encrypted;
 					std::string diskName;
 					std::string description;
+					std::string device;
 					bool deleteWithInstance;
 				};
 
@@ -58,6 +59,8 @@ namespace AlibabaCloud
 				RunInstancesRequest();
 				~RunInstancesRequest();
 
+				std::string getLaunchTemplateName()const;
+				void setLaunchTemplateName(const std::string& launchTemplateName);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getHpcClusterId()const;
@@ -94,6 +97,8 @@ namespace AlibabaCloud
 				void setCallerUid(long callerUid);
 				bool getDryRun()const;
 				void setDryRun(bool dryRun);
+				std::string getLaunchTemplateId()const;
+				void setLaunchTemplateId(const std::string& launchTemplateId);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				bool getAk_mfa_present()const;
@@ -166,6 +171,8 @@ namespace AlibabaCloud
 				void setCallerBid(const std::string& callerBid);
 				std::vector<DataDisk> getDataDisk()const;
 				void setDataDisk(const std::vector<DataDisk>& dataDisk);
+				long getLaunchTemplateVersion()const;
+				void setLaunchTemplateVersion(long launchTemplateVersion);
 				bool getProxy_trust_transport_info()const;
 				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
 				std::string getSystemDiskSize()const;
@@ -174,6 +181,7 @@ namespace AlibabaCloud
 				void setSystemDiskDescription(const std::string& systemDiskDescription);
 
             private:
+				std::string launchTemplateName_;
 				long resourceOwnerId_;
 				std::string hpcClusterId_;
 				long callerParentId_;
@@ -192,6 +200,7 @@ namespace AlibabaCloud
 				std::vector<Tag> tag_;
 				long callerUid_;
 				bool dryRun_;
+				std::string launchTemplateId_;
 				long ownerId_;
 				bool ak_mfa_present_;
 				bool security_transport_;
@@ -228,6 +237,7 @@ namespace AlibabaCloud
 				std::string dedicatedHostId_;
 				std::string callerBid_;
 				std::vector<DataDisk> dataDisk_;
+				long launchTemplateVersion_;
 				bool proxy_trust_transport_info_;
 				std::string systemDiskSize_;
 				std::string systemDiskDescription_;

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

@@ -0,0 +1,141 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_VALIDATESECURITYGROUPREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_VALIDATESECURITYGROUPREQUEST_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 ValidateSecurityGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				ValidateSecurityGroupRequest();
+				~ValidateSecurityGroupRequest();
+
+				std::string getNicType()const;
+				void setNicType(const std::string& nicType);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				int getSourcePort()const;
+				void setSourcePort(int sourcePort);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				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 getDirection()const;
+				void setDirection(const std::string& direction);
+				std::string getDestIp()const;
+				void setDestIp(const std::string& destIp);
+				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 getIpProtocol()const;
+				void setIpProtocol(const std::string& ipProtocol);
+				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 getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				int getDestPort()const;
+				void setDestPort(int destPort);
+
+            private:
+				std::string nicType_;
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				int sourcePort_;
+				std::string sourceIp_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string direction_;
+				std::string destIp_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ipProtocol_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string instanceId_;
+				std::string requestId_;
+				int destPort_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_VALIDATESECURITYGROUPREQUEST_H_

+ 72 - 0
ecs/include/alibabacloud/ecs/model/ValidateSecurityGroupResult.h

@@ -0,0 +1,72 @@
+/*
+ * 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_VALIDATESECURITYGROUPRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_VALIDATESECURITYGROUPRESULT_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 ValidateSecurityGroupResult : public ServiceResult
+			{
+			public:
+				struct TriggeredGroupRule
+				{
+					std::string sourceGroupId;
+					std::string policy;
+					std::string description;
+					std::string priority;
+					std::string createTime;
+					std::string nicType;
+					std::string destGroupId;
+					std::string direction;
+					std::string sourceGroupName;
+					std::string portRange;
+					std::string destGroupOwnerAccount;
+					std::string sourceCidrIp;
+					std::string ipProtocol;
+					std::string destGroupName;
+					std::string destCidrIp;
+					std::string sourceGroupOwnerAccount;
+				};
+
+
+				ValidateSecurityGroupResult();
+				explicit ValidateSecurityGroupResult(const std::string &payload);
+				~ValidateSecurityGroupResult();
+				std::string getPolicy()const;
+				TriggeredGroupRule getTriggeredGroupRule()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string policy_;
+				TriggeredGroupRule triggeredGroupRule_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_VALIDATESECURITYGROUPRESULT_H_

+ 243 - 387
ecs/src/EcsClient.cc

@@ -1131,42 +1131,6 @@ EcsClient::AllocatePublicIpAddressOutcomeCallable EcsClient::allocatePublicIpAdd
 	return task->get_future();
 }
 
-EcsClient::AttachVolumeOutcome EcsClient::attachVolume(const AttachVolumeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return AttachVolumeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return AttachVolumeOutcome(AttachVolumeResult(outcome.result()));
-	else
-		return AttachVolumeOutcome(outcome.error());
-}
-
-void EcsClient::attachVolumeAsync(const AttachVolumeRequest& request, const AttachVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, attachVolume(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::AttachVolumeOutcomeCallable EcsClient::attachVolumeCallable(const AttachVolumeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<AttachVolumeOutcome()>>(
-			[this, request]()
-			{
-			return this->attachVolume(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::DescribeEipMonitorDataOutcome EcsClient::describeEipMonitorData(const DescribeEipMonitorDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1959,42 +1923,6 @@ EcsClient::ResizeDiskOutcomeCallable EcsClient::resizeDiskCallable(const ResizeD
 	return task->get_future();
 }
 
-EcsClient::ResizeVolumeOutcome EcsClient::resizeVolume(const ResizeVolumeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ResizeVolumeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ResizeVolumeOutcome(ResizeVolumeResult(outcome.result()));
-	else
-		return ResizeVolumeOutcome(outcome.error());
-}
-
-void EcsClient::resizeVolumeAsync(const ResizeVolumeRequest& request, const ResizeVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, resizeVolume(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::ResizeVolumeOutcomeCallable EcsClient::resizeVolumeCallable(const ResizeVolumeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ResizeVolumeOutcome()>>(
-			[this, request]()
-			{
-			return this->resizeVolume(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::CreateRouteEntryOutcome EcsClient::createRouteEntry(const CreateRouteEntryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2139,108 +2067,144 @@ EcsClient::CreateRouterInterfaceOutcomeCallable EcsClient::createRouterInterface
 	return task->get_future();
 }
 
-EcsClient::ModifyVolumeAttributeOutcome EcsClient::modifyVolumeAttribute(const ModifyVolumeAttributeRequest &request) const
+EcsClient::CheckDiskEnableAutoSnapshotValidationOutcome EcsClient::checkDiskEnableAutoSnapshotValidation(const CheckDiskEnableAutoSnapshotValidationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ModifyVolumeAttributeOutcome(endpointOutcome.error());
+		return CheckDiskEnableAutoSnapshotValidationOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ModifyVolumeAttributeOutcome(ModifyVolumeAttributeResult(outcome.result()));
+		return CheckDiskEnableAutoSnapshotValidationOutcome(CheckDiskEnableAutoSnapshotValidationResult(outcome.result()));
 	else
-		return ModifyVolumeAttributeOutcome(outcome.error());
+		return CheckDiskEnableAutoSnapshotValidationOutcome(outcome.error());
 }
 
-void EcsClient::modifyVolumeAttributeAsync(const ModifyVolumeAttributeRequest& request, const ModifyVolumeAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::checkDiskEnableAutoSnapshotValidationAsync(const CheckDiskEnableAutoSnapshotValidationRequest& request, const CheckDiskEnableAutoSnapshotValidationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, modifyVolumeAttribute(request), context);
+		handler(this, request, checkDiskEnableAutoSnapshotValidation(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::ModifyVolumeAttributeOutcomeCallable EcsClient::modifyVolumeAttributeCallable(const ModifyVolumeAttributeRequest &request) const
+EcsClient::CheckDiskEnableAutoSnapshotValidationOutcomeCallable EcsClient::checkDiskEnableAutoSnapshotValidationCallable(const CheckDiskEnableAutoSnapshotValidationRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ModifyVolumeAttributeOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<CheckDiskEnableAutoSnapshotValidationOutcome()>>(
 			[this, request]()
 			{
-			return this->modifyVolumeAttribute(request);
+			return this->checkDiskEnableAutoSnapshotValidation(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::CheckDiskEnableAutoSnapshotValidationOutcome EcsClient::checkDiskEnableAutoSnapshotValidation(const CheckDiskEnableAutoSnapshotValidationRequest &request) const
+EcsClient::RunInstancesOutcome EcsClient::runInstances(const RunInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return CheckDiskEnableAutoSnapshotValidationOutcome(endpointOutcome.error());
+		return RunInstancesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return CheckDiskEnableAutoSnapshotValidationOutcome(CheckDiskEnableAutoSnapshotValidationResult(outcome.result()));
+		return RunInstancesOutcome(RunInstancesResult(outcome.result()));
 	else
-		return CheckDiskEnableAutoSnapshotValidationOutcome(outcome.error());
+		return RunInstancesOutcome(outcome.error());
 }
 
-void EcsClient::checkDiskEnableAutoSnapshotValidationAsync(const CheckDiskEnableAutoSnapshotValidationRequest& request, const CheckDiskEnableAutoSnapshotValidationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::runInstancesAsync(const RunInstancesRequest& request, const RunInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, checkDiskEnableAutoSnapshotValidation(request), context);
+		handler(this, request, runInstances(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::CheckDiskEnableAutoSnapshotValidationOutcomeCallable EcsClient::checkDiskEnableAutoSnapshotValidationCallable(const CheckDiskEnableAutoSnapshotValidationRequest &request) const
+EcsClient::RunInstancesOutcomeCallable EcsClient::runInstancesCallable(const RunInstancesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<CheckDiskEnableAutoSnapshotValidationOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<RunInstancesOutcome()>>(
 			[this, request]()
 			{
-			return this->checkDiskEnableAutoSnapshotValidation(request);
+			return this->runInstances(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::RunInstancesOutcome EcsClient::runInstances(const RunInstancesRequest &request) const
+EcsClient::ModifyLaunchTemplateDefaultVersionOutcome EcsClient::modifyLaunchTemplateDefaultVersion(const ModifyLaunchTemplateDefaultVersionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return RunInstancesOutcome(endpointOutcome.error());
+		return ModifyLaunchTemplateDefaultVersionOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return RunInstancesOutcome(RunInstancesResult(outcome.result()));
+		return ModifyLaunchTemplateDefaultVersionOutcome(ModifyLaunchTemplateDefaultVersionResult(outcome.result()));
 	else
-		return RunInstancesOutcome(outcome.error());
+		return ModifyLaunchTemplateDefaultVersionOutcome(outcome.error());
 }
 
-void EcsClient::runInstancesAsync(const RunInstancesRequest& request, const RunInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::modifyLaunchTemplateDefaultVersionAsync(const ModifyLaunchTemplateDefaultVersionRequest& request, const ModifyLaunchTemplateDefaultVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, runInstances(request), context);
+		handler(this, request, modifyLaunchTemplateDefaultVersion(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::RunInstancesOutcomeCallable EcsClient::runInstancesCallable(const RunInstancesRequest &request) const
+EcsClient::ModifyLaunchTemplateDefaultVersionOutcomeCallable EcsClient::modifyLaunchTemplateDefaultVersionCallable(const ModifyLaunchTemplateDefaultVersionRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<RunInstancesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ModifyLaunchTemplateDefaultVersionOutcome()>>(
 			[this, request]()
 			{
-			return this->runInstances(request);
+			return this->modifyLaunchTemplateDefaultVersion(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EcsClient::CreateLaunchTemplateVersionOutcome EcsClient::createLaunchTemplateVersion(const CreateLaunchTemplateVersionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateLaunchTemplateVersionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateLaunchTemplateVersionOutcome(CreateLaunchTemplateVersionResult(outcome.result()));
+	else
+		return CreateLaunchTemplateVersionOutcome(outcome.error());
+}
+
+void EcsClient::createLaunchTemplateVersionAsync(const CreateLaunchTemplateVersionRequest& request, const CreateLaunchTemplateVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createLaunchTemplateVersion(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::CreateLaunchTemplateVersionOutcomeCallable EcsClient::createLaunchTemplateVersionCallable(const CreateLaunchTemplateVersionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateLaunchTemplateVersionOutcome()>>(
+			[this, request]()
+			{
+			return this->createLaunchTemplateVersion(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -3327,42 +3291,6 @@ EcsClient::DescribeSnapshotPackageOutcomeCallable EcsClient::describeSnapshotPac
 	return task->get_future();
 }
 
-EcsClient::ReInitVolumeOutcome EcsClient::reInitVolume(const ReInitVolumeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ReInitVolumeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ReInitVolumeOutcome(ReInitVolumeResult(outcome.result()));
-	else
-		return ReInitVolumeOutcome(outcome.error());
-}
-
-void EcsClient::reInitVolumeAsync(const ReInitVolumeRequest& request, const ReInitVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, reInitVolume(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::ReInitVolumeOutcomeCallable EcsClient::reInitVolumeCallable(const ReInitVolumeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ReInitVolumeOutcome()>>(
-			[this, request]()
-			{
-			return this->reInitVolume(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::RebootInstanceOutcome EcsClient::rebootInstance(const RebootInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3975,42 +3903,6 @@ EcsClient::AddTagsOutcomeCallable EcsClient::addTagsCallable(const AddTagsReques
 	return task->get_future();
 }
 
-EcsClient::CancelUserEventOutcome EcsClient::cancelUserEvent(const CancelUserEventRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return CancelUserEventOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return CancelUserEventOutcome(CancelUserEventResult(outcome.result()));
-	else
-		return CancelUserEventOutcome(outcome.error());
-}
-
-void EcsClient::cancelUserEventAsync(const CancelUserEventRequest& request, const CancelUserEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, cancelUserEvent(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::CancelUserEventOutcomeCallable EcsClient::cancelUserEventCallable(const CancelUserEventRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<CancelUserEventOutcome()>>(
-			[this, request]()
-			{
-			return this->cancelUserEvent(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::CreateHpcClusterOutcome EcsClient::createHpcCluster(const CreateHpcClusterRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5451,6 +5343,42 @@ EcsClient::ImportKeyPairOutcomeCallable EcsClient::importKeyPairCallable(const I
 	return task->get_future();
 }
 
+EcsClient::DeleteLaunchTemplateOutcome EcsClient::deleteLaunchTemplate(const DeleteLaunchTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLaunchTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLaunchTemplateOutcome(DeleteLaunchTemplateResult(outcome.result()));
+	else
+		return DeleteLaunchTemplateOutcome(outcome.error());
+}
+
+void EcsClient::deleteLaunchTemplateAsync(const DeleteLaunchTemplateRequest& request, const DeleteLaunchTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLaunchTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DeleteLaunchTemplateOutcomeCallable EcsClient::deleteLaunchTemplateCallable(const DeleteLaunchTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLaunchTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLaunchTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeNewProjectEipMonitorDataOutcome EcsClient::describeNewProjectEipMonitorData(const DescribeNewProjectEipMonitorDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5991,42 +5919,6 @@ EcsClient::ModifyDiskChargeTypeOutcomeCallable EcsClient::modifyDiskChargeTypeCa
 	return task->get_future();
 }
 
-EcsClient::DescribeVolumesOutcome EcsClient::describeVolumes(const DescribeVolumesRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return DescribeVolumesOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return DescribeVolumesOutcome(DescribeVolumesResult(outcome.result()));
-	else
-		return DescribeVolumesOutcome(outcome.error());
-}
-
-void EcsClient::describeVolumesAsync(const DescribeVolumesRequest& request, const DescribeVolumesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, describeVolumes(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::DescribeVolumesOutcomeCallable EcsClient::describeVolumesCallable(const DescribeVolumesRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<DescribeVolumesOutcome()>>(
-			[this, request]()
-			{
-			return this->describeVolumes(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::ModifyIntranetBandwidthKbOutcome EcsClient::modifyIntranetBandwidthKb(const ModifyIntranetBandwidthKbRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6351,72 +6243,72 @@ EcsClient::DescribeTagKeysOutcomeCallable EcsClient::describeTagKeysCallable(con
 	return task->get_future();
 }
 
-EcsClient::CreateVolumeOutcome EcsClient::createVolume(const CreateVolumeRequest &request) const
+EcsClient::DeleteInstanceOutcome EcsClient::deleteInstance(const DeleteInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return CreateVolumeOutcome(endpointOutcome.error());
+		return DeleteInstanceOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return CreateVolumeOutcome(CreateVolumeResult(outcome.result()));
+		return DeleteInstanceOutcome(DeleteInstanceResult(outcome.result()));
 	else
-		return CreateVolumeOutcome(outcome.error());
+		return DeleteInstanceOutcome(outcome.error());
 }
 
-void EcsClient::createVolumeAsync(const CreateVolumeRequest& request, const CreateVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::deleteInstanceAsync(const DeleteInstanceRequest& request, const DeleteInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, createVolume(request), context);
+		handler(this, request, deleteInstance(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::CreateVolumeOutcomeCallable EcsClient::createVolumeCallable(const CreateVolumeRequest &request) const
+EcsClient::DeleteInstanceOutcomeCallable EcsClient::deleteInstanceCallable(const DeleteInstanceRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<CreateVolumeOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DeleteInstanceOutcome()>>(
 			[this, request]()
 			{
-			return this->createVolume(request);
+			return this->deleteInstance(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::DeleteInstanceOutcome EcsClient::deleteInstance(const DeleteInstanceRequest &request) const
+EcsClient::CreateLaunchTemplateOutcome EcsClient::createLaunchTemplate(const CreateLaunchTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DeleteInstanceOutcome(endpointOutcome.error());
+		return CreateLaunchTemplateOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DeleteInstanceOutcome(DeleteInstanceResult(outcome.result()));
+		return CreateLaunchTemplateOutcome(CreateLaunchTemplateResult(outcome.result()));
 	else
-		return DeleteInstanceOutcome(outcome.error());
+		return CreateLaunchTemplateOutcome(outcome.error());
 }
 
-void EcsClient::deleteInstanceAsync(const DeleteInstanceRequest& request, const DeleteInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::createLaunchTemplateAsync(const CreateLaunchTemplateRequest& request, const CreateLaunchTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, deleteInstance(request), context);
+		handler(this, request, createLaunchTemplate(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::DeleteInstanceOutcomeCallable EcsClient::deleteInstanceCallable(const DeleteInstanceRequest &request) const
+EcsClient::CreateLaunchTemplateOutcomeCallable EcsClient::createLaunchTemplateCallable(const CreateLaunchTemplateRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DeleteInstanceOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<CreateLaunchTemplateOutcome()>>(
 			[this, request]()
 			{
-			return this->deleteInstance(request);
+			return this->createLaunchTemplate(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -6783,144 +6675,108 @@ EcsClient::DescribeInstanceTypeFamiliesOutcomeCallable EcsClient::describeInstan
 	return task->get_future();
 }
 
-EcsClient::RollbackVolumeOutcome EcsClient::rollbackVolume(const RollbackVolumeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return RollbackVolumeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return RollbackVolumeOutcome(RollbackVolumeResult(outcome.result()));
-	else
-		return RollbackVolumeOutcome(outcome.error());
-}
-
-void EcsClient::rollbackVolumeAsync(const RollbackVolumeRequest& request, const RollbackVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, rollbackVolume(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::RollbackVolumeOutcomeCallable EcsClient::rollbackVolumeCallable(const RollbackVolumeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<RollbackVolumeOutcome()>>(
-			[this, request]()
-			{
-			return this->rollbackVolume(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-EcsClient::DeleteVolumeOutcome EcsClient::deleteVolume(const DeleteVolumeRequest &request) const
+EcsClient::CreateForwardEntryOutcome EcsClient::createForwardEntry(const CreateForwardEntryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DeleteVolumeOutcome(endpointOutcome.error());
+		return CreateForwardEntryOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DeleteVolumeOutcome(DeleteVolumeResult(outcome.result()));
+		return CreateForwardEntryOutcome(CreateForwardEntryResult(outcome.result()));
 	else
-		return DeleteVolumeOutcome(outcome.error());
+		return CreateForwardEntryOutcome(outcome.error());
 }
 
-void EcsClient::deleteVolumeAsync(const DeleteVolumeRequest& request, const DeleteVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::createForwardEntryAsync(const CreateForwardEntryRequest& request, const CreateForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, deleteVolume(request), context);
+		handler(this, request, createForwardEntry(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::DeleteVolumeOutcomeCallable EcsClient::deleteVolumeCallable(const DeleteVolumeRequest &request) const
+EcsClient::CreateForwardEntryOutcomeCallable EcsClient::createForwardEntryCallable(const CreateForwardEntryRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DeleteVolumeOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<CreateForwardEntryOutcome()>>(
 			[this, request]()
 			{
-			return this->deleteVolume(request);
+			return this->createForwardEntry(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::CreateForwardEntryOutcome EcsClient::createForwardEntry(const CreateForwardEntryRequest &request) const
+EcsClient::DescribeRouterInterfacesOutcome EcsClient::describeRouterInterfaces(const DescribeRouterInterfacesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return CreateForwardEntryOutcome(endpointOutcome.error());
+		return DescribeRouterInterfacesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return CreateForwardEntryOutcome(CreateForwardEntryResult(outcome.result()));
+		return DescribeRouterInterfacesOutcome(DescribeRouterInterfacesResult(outcome.result()));
 	else
-		return CreateForwardEntryOutcome(outcome.error());
+		return DescribeRouterInterfacesOutcome(outcome.error());
 }
 
-void EcsClient::createForwardEntryAsync(const CreateForwardEntryRequest& request, const CreateForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::describeRouterInterfacesAsync(const DescribeRouterInterfacesRequest& request, const DescribeRouterInterfacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, createForwardEntry(request), context);
+		handler(this, request, describeRouterInterfaces(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::CreateForwardEntryOutcomeCallable EcsClient::createForwardEntryCallable(const CreateForwardEntryRequest &request) const
+EcsClient::DescribeRouterInterfacesOutcomeCallable EcsClient::describeRouterInterfacesCallable(const DescribeRouterInterfacesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<CreateForwardEntryOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeRouterInterfacesOutcome()>>(
 			[this, request]()
 			{
-			return this->createForwardEntry(request);
+			return this->describeRouterInterfaces(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::DescribeRouterInterfacesOutcome EcsClient::describeRouterInterfaces(const DescribeRouterInterfacesRequest &request) const
+EcsClient::DescribeLaunchTemplatesOutcome EcsClient::describeLaunchTemplates(const DescribeLaunchTemplatesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DescribeRouterInterfacesOutcome(endpointOutcome.error());
+		return DescribeLaunchTemplatesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DescribeRouterInterfacesOutcome(DescribeRouterInterfacesResult(outcome.result()));
+		return DescribeLaunchTemplatesOutcome(DescribeLaunchTemplatesResult(outcome.result()));
 	else
-		return DescribeRouterInterfacesOutcome(outcome.error());
+		return DescribeLaunchTemplatesOutcome(outcome.error());
 }
 
-void EcsClient::describeRouterInterfacesAsync(const DescribeRouterInterfacesRequest& request, const DescribeRouterInterfacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::describeLaunchTemplatesAsync(const DescribeLaunchTemplatesRequest& request, const DescribeLaunchTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, describeRouterInterfaces(request), context);
+		handler(this, request, describeLaunchTemplates(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::DescribeRouterInterfacesOutcomeCallable EcsClient::describeRouterInterfacesCallable(const DescribeRouterInterfacesRequest &request) const
+EcsClient::DescribeLaunchTemplatesOutcomeCallable EcsClient::describeLaunchTemplatesCallable(const DescribeLaunchTemplatesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DescribeRouterInterfacesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeLaunchTemplatesOutcome()>>(
 			[this, request]()
 			{
-			return this->describeRouterInterfaces(request);
+			return this->describeLaunchTemplates(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -7323,42 +7179,6 @@ EcsClient::CreatePhysicalConnectionOutcomeCallable EcsClient::createPhysicalConn
 	return task->get_future();
 }
 
-EcsClient::ModifyUserEventAttributeOutcome EcsClient::modifyUserEventAttribute(const ModifyUserEventAttributeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ModifyUserEventAttributeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ModifyUserEventAttributeOutcome(ModifyUserEventAttributeResult(outcome.result()));
-	else
-		return ModifyUserEventAttributeOutcome(outcome.error());
-}
-
-void EcsClient::modifyUserEventAttributeAsync(const ModifyUserEventAttributeRequest& request, const ModifyUserEventAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, modifyUserEventAttribute(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::ModifyUserEventAttributeOutcomeCallable EcsClient::modifyUserEventAttributeCallable(const ModifyUserEventAttributeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ModifyUserEventAttributeOutcome()>>(
-			[this, request]()
-			{
-			return this->modifyUserEventAttribute(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::DescribeKeyPairsOutcome EcsClient::describeKeyPairs(const DescribeKeyPairsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7647,6 +7467,42 @@ EcsClient::DescribeInstancePhysicalAttributeOutcomeCallable EcsClient::describeI
 	return task->get_future();
 }
 
+EcsClient::ValidateSecurityGroupOutcome EcsClient::validateSecurityGroup(const ValidateSecurityGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ValidateSecurityGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ValidateSecurityGroupOutcome(ValidateSecurityGroupResult(outcome.result()));
+	else
+		return ValidateSecurityGroupOutcome(outcome.error());
+}
+
+void EcsClient::validateSecurityGroupAsync(const ValidateSecurityGroupRequest& request, const ValidateSecurityGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, validateSecurityGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ValidateSecurityGroupOutcomeCallable EcsClient::validateSecurityGroupCallable(const ValidateSecurityGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ValidateSecurityGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->validateSecurityGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::TerminatePhysicalConnectionOutcome EcsClient::terminatePhysicalConnection(const TerminatePhysicalConnectionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7935,108 +7791,108 @@ EcsClient::CreateDeploymentSetOutcomeCallable EcsClient::createDeploymentSetCall
 	return task->get_future();
 }
 
-EcsClient::DescribeRegionsOutcome EcsClient::describeRegions(const DescribeRegionsRequest &request) const
+EcsClient::DeleteLaunchTemplateVersionOutcome EcsClient::deleteLaunchTemplateVersion(const DeleteLaunchTemplateVersionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DescribeRegionsOutcome(endpointOutcome.error());
+		return DeleteLaunchTemplateVersionOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
+		return DeleteLaunchTemplateVersionOutcome(DeleteLaunchTemplateVersionResult(outcome.result()));
 	else
-		return DescribeRegionsOutcome(outcome.error());
+		return DeleteLaunchTemplateVersionOutcome(outcome.error());
 }
 
-void EcsClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::deleteLaunchTemplateVersionAsync(const DeleteLaunchTemplateVersionRequest& request, const DeleteLaunchTemplateVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, describeRegions(request), context);
+		handler(this, request, deleteLaunchTemplateVersion(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::DescribeRegionsOutcomeCallable EcsClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
+EcsClient::DeleteLaunchTemplateVersionOutcomeCallable EcsClient::deleteLaunchTemplateVersionCallable(const DeleteLaunchTemplateVersionRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DeleteLaunchTemplateVersionOutcome()>>(
 			[this, request]()
 			{
-			return this->describeRegions(request);
+			return this->deleteLaunchTemplateVersion(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::DescribeClassicLinkInstancesOutcome EcsClient::describeClassicLinkInstances(const DescribeClassicLinkInstancesRequest &request) const
+EcsClient::DescribeRegionsOutcome EcsClient::describeRegions(const DescribeRegionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DescribeClassicLinkInstancesOutcome(endpointOutcome.error());
+		return DescribeRegionsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DescribeClassicLinkInstancesOutcome(DescribeClassicLinkInstancesResult(outcome.result()));
+		return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
 	else
-		return DescribeClassicLinkInstancesOutcome(outcome.error());
+		return DescribeRegionsOutcome(outcome.error());
 }
 
-void EcsClient::describeClassicLinkInstancesAsync(const DescribeClassicLinkInstancesRequest& request, const DescribeClassicLinkInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, describeClassicLinkInstances(request), context);
+		handler(this, request, describeRegions(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::DescribeClassicLinkInstancesOutcomeCallable EcsClient::describeClassicLinkInstancesCallable(const DescribeClassicLinkInstancesRequest &request) const
+EcsClient::DescribeRegionsOutcomeCallable EcsClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DescribeClassicLinkInstancesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
 			[this, request]()
 			{
-			return this->describeClassicLinkInstances(request);
+			return this->describeRegions(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EcsClient::CreateUserEventOutcome EcsClient::createUserEvent(const CreateUserEventRequest &request) const
+EcsClient::DescribeClassicLinkInstancesOutcome EcsClient::describeClassicLinkInstances(const DescribeClassicLinkInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return CreateUserEventOutcome(endpointOutcome.error());
+		return DescribeClassicLinkInstancesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return CreateUserEventOutcome(CreateUserEventResult(outcome.result()));
+		return DescribeClassicLinkInstancesOutcome(DescribeClassicLinkInstancesResult(outcome.result()));
 	else
-		return CreateUserEventOutcome(outcome.error());
+		return DescribeClassicLinkInstancesOutcome(outcome.error());
 }
 
-void EcsClient::createUserEventAsync(const CreateUserEventRequest& request, const CreateUserEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EcsClient::describeClassicLinkInstancesAsync(const DescribeClassicLinkInstancesRequest& request, const DescribeClassicLinkInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, createUserEvent(request), context);
+		handler(this, request, describeClassicLinkInstances(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EcsClient::CreateUserEventOutcomeCallable EcsClient::createUserEventCallable(const CreateUserEventRequest &request) const
+EcsClient::DescribeClassicLinkInstancesOutcomeCallable EcsClient::describeClassicLinkInstancesCallable(const DescribeClassicLinkInstancesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<CreateUserEventOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeClassicLinkInstancesOutcome()>>(
 			[this, request]()
 			{
-			return this->createUserEvent(request);
+			return this->describeClassicLinkInstances(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -8151,42 +8007,6 @@ EcsClient::DescribeRecycleBinOutcomeCallable EcsClient::describeRecycleBinCallab
 	return task->get_future();
 }
 
-EcsClient::DetachVolumeOutcome EcsClient::detachVolume(const DetachVolumeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return DetachVolumeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return DetachVolumeOutcome(DetachVolumeResult(outcome.result()));
-	else
-		return DetachVolumeOutcome(outcome.error());
-}
-
-void EcsClient::detachVolumeAsync(const DetachVolumeRequest& request, const DetachVolumeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, detachVolume(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EcsClient::DetachVolumeOutcomeCallable EcsClient::detachVolumeCallable(const DetachVolumeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<DetachVolumeOutcome()>>(
-			[this, request]()
-			{
-			return this->detachVolume(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EcsClient::CreateNetworkInterfaceOutcome EcsClient::createNetworkInterface(const CreateNetworkInterfaceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8403,6 +8223,42 @@ EcsClient::DescribeNetworkInterfacesOutcomeCallable EcsClient::describeNetworkIn
 	return task->get_future();
 }
 
+EcsClient::DescribeLaunchTemplateVersionsOutcome EcsClient::describeLaunchTemplateVersions(const DescribeLaunchTemplateVersionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLaunchTemplateVersionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLaunchTemplateVersionsOutcome(DescribeLaunchTemplateVersionsResult(outcome.result()));
+	else
+		return DescribeLaunchTemplateVersionsOutcome(outcome.error());
+}
+
+void EcsClient::describeLaunchTemplateVersionsAsync(const DescribeLaunchTemplateVersionsRequest& request, const DescribeLaunchTemplateVersionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLaunchTemplateVersions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeLaunchTemplateVersionsOutcomeCallable EcsClient::describeLaunchTemplateVersionsCallable(const DescribeLaunchTemplateVersionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLaunchTemplateVersionsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLaunchTemplateVersions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyNetworkInterfaceAttributeOutcome EcsClient::modifyNetworkInterfaceAttribute(const ModifyNetworkInterfaceAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 0 - 104
ecs/src/model/AttachVolumeRequest.cc

@@ -1,104 +0,0 @@
-/*
- * 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/AttachVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::AttachVolumeRequest;
-
-AttachVolumeRequest::AttachVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "AttachVolume")
-{}
-
-AttachVolumeRequest::~AttachVolumeRequest()
-{}
-
-long AttachVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void AttachVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string AttachVolumeRequest::getInstanceId()const
-{
-	return instanceId_;
-}
-
-void AttachVolumeRequest::setInstanceId(const std::string& instanceId)
-{
-	instanceId_ = instanceId;
-	setParameter("InstanceId", instanceId);
-}
-
-std::string AttachVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void AttachVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string AttachVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void AttachVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string AttachVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void AttachVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string AttachVolumeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void AttachVolumeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-long AttachVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void AttachVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

@@ -1,291 +0,0 @@
-/*
- * 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/CancelUserEventRequest.h>
-
-using AlibabaCloud::Ecs::Model::CancelUserEventRequest;
-
-CancelUserEventRequest::CancelUserEventRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "CancelUserEvent")
-{}
-
-CancelUserEventRequest::~CancelUserEventRequest()
-{}
-
-std::string CancelUserEventRequest::getEventId()const
-{
-	return eventId_;
-}
-
-void CancelUserEventRequest::setEventId(const std::string& eventId)
-{
-	eventId_ = eventId;
-	setParameter("EventId", eventId);
-}
-
-long CancelUserEventRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void CancelUserEventRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-long CancelUserEventRequest::getCallerParentId()const
-{
-	return callerParentId_;
-}
-
-void CancelUserEventRequest::setCallerParentId(long callerParentId)
-{
-	callerParentId_ = callerParentId;
-	setParameter("CallerParentId", std::to_string(callerParentId));
-}
-
-bool CancelUserEventRequest::getProxy_original_security_transport()const
-{
-	return proxy_original_security_transport_;
-}
-
-void CancelUserEventRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
-{
-	proxy_original_security_transport_ = proxy_original_security_transport;
-	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
-}
-
-std::string CancelUserEventRequest::getProxy_original_source_ip()const
-{
-	return proxy_original_source_ip_;
-}
-
-void CancelUserEventRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
-{
-	proxy_original_source_ip_ = proxy_original_source_ip;
-	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
-}
-
-std::string CancelUserEventRequest::getOwnerIdLoginEmail()const
-{
-	return ownerIdLoginEmail_;
-}
-
-void CancelUserEventRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
-{
-	ownerIdLoginEmail_ = ownerIdLoginEmail;
-	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
-}
-
-std::string CancelUserEventRequest::getCallerType()const
-{
-	return callerType_;
-}
-
-void CancelUserEventRequest::setCallerType(const std::string& callerType)
-{
-	callerType_ = callerType;
-	setParameter("CallerType", callerType);
-}
-
-std::string CancelUserEventRequest::getAccessKeyId()const
-{
-	return accessKeyId_;
-}
-
-void CancelUserEventRequest::setAccessKeyId(const std::string& accessKeyId)
-{
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
-}
-
-std::string CancelUserEventRequest::getSecurityToken()const
-{
-	return securityToken_;
-}
-
-void CancelUserEventRequest::setSecurityToken(const std::string& securityToken)
-{
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
-}
-
-std::string CancelUserEventRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void CancelUserEventRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-bool CancelUserEventRequest::getEnable()const
-{
-	return enable_;
-}
-
-void CancelUserEventRequest::setEnable(bool enable)
-{
-	enable_ = enable;
-	setParameter("Enable", std::to_string(enable));
-}
-
-std::string CancelUserEventRequest::getRequestContent()const
-{
-	return requestContent_;
-}
-
-void CancelUserEventRequest::setRequestContent(const std::string& requestContent)
-{
-	requestContent_ = requestContent;
-	setParameter("RequestContent", requestContent);
-}
-
-std::string CancelUserEventRequest::getCallerBidEmail()const
-{
-	return callerBidEmail_;
-}
-
-void CancelUserEventRequest::setCallerBidEmail(const std::string& callerBidEmail)
-{
-	callerBidEmail_ = callerBidEmail;
-	setParameter("CallerBidEmail", callerBidEmail);
-}
-
-std::string CancelUserEventRequest::getCallerUidEmail()const
-{
-	return callerUidEmail_;
-}
-
-void CancelUserEventRequest::setCallerUidEmail(const std::string& callerUidEmail)
-{
-	callerUidEmail_ = callerUidEmail;
-	setParameter("CallerUidEmail", callerUidEmail);
-}
-
-long CancelUserEventRequest::getCallerUid()const
-{
-	return callerUid_;
-}
-
-void CancelUserEventRequest::setCallerUid(long callerUid)
-{
-	callerUid_ = callerUid;
-	setParameter("CallerUid", std::to_string(callerUid));
-}
-
-std::string CancelUserEventRequest::getApp_ip()const
-{
-	return app_ip_;
-}
-
-void CancelUserEventRequest::setApp_ip(const std::string& app_ip)
-{
-	app_ip_ = app_ip;
-	setParameter("App_ip", app_ip);
-}
-
-std::string CancelUserEventRequest::getResourceId()const
-{
-	return resourceId_;
-}
-
-void CancelUserEventRequest::setResourceId(const std::string& resourceId)
-{
-	resourceId_ = resourceId;
-	setParameter("ResourceId", resourceId);
-}
-
-std::string CancelUserEventRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void CancelUserEventRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string CancelUserEventRequest::getCallerBid()const
-{
-	return callerBid_;
-}
-
-void CancelUserEventRequest::setCallerBid(const std::string& callerBid)
-{
-	callerBid_ = callerBid;
-	setParameter("CallerBid", callerBid);
-}
-
-long CancelUserEventRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void CancelUserEventRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-
-bool CancelUserEventRequest::getProxy_trust_transport_info()const
-{
-	return proxy_trust_transport_info_;
-}
-
-void CancelUserEventRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
-{
-	proxy_trust_transport_info_ = proxy_trust_transport_info;
-	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
-}
-
-bool CancelUserEventRequest::getAk_mfa_present()const
-{
-	return ak_mfa_present_;
-}
-
-void CancelUserEventRequest::setAk_mfa_present(bool ak_mfa_present)
-{
-	ak_mfa_present_ = ak_mfa_present;
-	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
-}
-
-bool CancelUserEventRequest::getSecurity_transport()const
-{
-	return security_transport_;
-}
-
-void CancelUserEventRequest::setSecurity_transport(bool security_transport)
-{
-	security_transport_ = security_transport;
-	setParameter("Security_transport", std::to_string(security_transport));
-}
-
-std::string CancelUserEventRequest::getRequestId()const
-{
-	return requestId_;
-}
-
-void CancelUserEventRequest::setRequestId(const std::string& requestId)
-{
-	requestId_ = requestId;
-	setParameter("RequestId", requestId);
-}
-

+ 126 - 5
ecs/src/model/CreateKeyPairRequest.cc

@@ -25,6 +25,17 @@ CreateKeyPairRequest::CreateKeyPairRequest() :
 CreateKeyPairRequest::~CreateKeyPairRequest()
 {}
 
+std::string CreateKeyPairRequest::getTag4Value()const
+{
+	return tag4Value_;
+}
+
+void CreateKeyPairRequest::setTag4Value(const std::string& tag4Value)
+{
+	tag4Value_ = tag4Value;
+	setParameter("Tag4Value", tag4Value);
+}
+
 long CreateKeyPairRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;
@@ -36,6 +47,28 @@ void CreateKeyPairRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
+std::string CreateKeyPairRequest::getTag2Key()const
+{
+	return tag2Key_;
+}
+
+void CreateKeyPairRequest::setTag2Key(const std::string& tag2Key)
+{
+	tag2Key_ = tag2Key;
+	setParameter("Tag2Key", tag2Key);
+}
+
+std::string CreateKeyPairRequest::getTag5Key()const
+{
+	return tag5Key_;
+}
+
+void CreateKeyPairRequest::setTag5Key(const std::string& tag5Key)
+{
+	tag5Key_ = tag5Key;
+	setParameter("Tag5Key", tag5Key);
+}
+
 std::string CreateKeyPairRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;
@@ -47,15 +80,15 @@ void CreateKeyPairRequest::setResourceOwnerAccount(const std::string& resourceOw
 	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
 }
 
-std::string CreateKeyPairRequest::getRegionId()const
+std::string CreateKeyPairRequest::getTag3Key()const
 {
-	return regionId_;
+	return tag3Key_;
 }
 
-void CreateKeyPairRequest::setRegionId(const std::string& regionId)
+void CreateKeyPairRequest::setTag3Key(const std::string& tag3Key)
 {
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
+	tag3Key_ = tag3Key;
+	setParameter("Tag3Key", tag3Key);
 }
 
 std::string CreateKeyPairRequest::getKeyPairName()const
@@ -80,3 +113,91 @@ void CreateKeyPairRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
+std::string CreateKeyPairRequest::getTag5Value()const
+{
+	return tag5Value_;
+}
+
+void CreateKeyPairRequest::setTag5Value(const std::string& tag5Value)
+{
+	tag5Value_ = tag5Value;
+	setParameter("Tag5Value", tag5Value);
+}
+
+std::string CreateKeyPairRequest::getTag1Key()const
+{
+	return tag1Key_;
+}
+
+void CreateKeyPairRequest::setTag1Key(const std::string& tag1Key)
+{
+	tag1Key_ = tag1Key;
+	setParameter("Tag1Key", tag1Key);
+}
+
+std::string CreateKeyPairRequest::getTag1Value()const
+{
+	return tag1Value_;
+}
+
+void CreateKeyPairRequest::setTag1Value(const std::string& tag1Value)
+{
+	tag1Value_ = tag1Value;
+	setParameter("Tag1Value", tag1Value);
+}
+
+std::string CreateKeyPairRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateKeyPairRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string CreateKeyPairRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateKeyPairRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreateKeyPairRequest::getTag2Value()const
+{
+	return tag2Value_;
+}
+
+void CreateKeyPairRequest::setTag2Value(const std::string& tag2Value)
+{
+	tag2Value_ = tag2Value;
+	setParameter("Tag2Value", tag2Value);
+}
+
+std::string CreateKeyPairRequest::getTag4Key()const
+{
+	return tag4Key_;
+}
+
+void CreateKeyPairRequest::setTag4Key(const std::string& tag4Key)
+{
+	tag4Key_ = tag4Key;
+	setParameter("Tag4Key", tag4Key);
+}
+
+std::string CreateKeyPairRequest::getTag3Value()const
+{
+	return tag3Value_;
+}
+
+void CreateKeyPairRequest::setTag3Value(const std::string& tag3Value)
+{
+	tag3Value_ = tag3Value;
+	setParameter("Tag3Value", tag3Value);
+}
+

+ 713 - 0
ecs/src/model/CreateLaunchTemplateRequest.cc

@@ -0,0 +1,713 @@
+/*
+ * 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/CreateLaunchTemplateRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateLaunchTemplateRequest;
+
+CreateLaunchTemplateRequest::CreateLaunchTemplateRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "CreateLaunchTemplate")
+{}
+
+CreateLaunchTemplateRequest::~CreateLaunchTemplateRequest()
+{}
+
+std::string CreateLaunchTemplateRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void CreateLaunchTemplateRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
+long CreateLaunchTemplateRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateLaunchTemplateRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long CreateLaunchTemplateRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void CreateLaunchTemplateRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+std::string CreateLaunchTemplateRequest::getSecurityEnhancementStrategy()const
+{
+	return securityEnhancementStrategy_;
+}
+
+void CreateLaunchTemplateRequest::setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy)
+{
+	securityEnhancementStrategy_ = securityEnhancementStrategy;
+	setParameter("SecurityEnhancementStrategy", securityEnhancementStrategy);
+}
+
+std::string CreateLaunchTemplateRequest::getNetworkType()const
+{
+	return networkType_;
+}
+
+void CreateLaunchTemplateRequest::setNetworkType(const std::string& networkType)
+{
+	networkType_ = networkType;
+	setParameter("NetworkType", networkType);
+}
+
+std::string CreateLaunchTemplateRequest::getKeyPairName()const
+{
+	return keyPairName_;
+}
+
+void CreateLaunchTemplateRequest::setKeyPairName(const std::string& keyPairName)
+{
+	keyPairName_ = keyPairName;
+	setParameter("KeyPairName", keyPairName);
+}
+
+std::string CreateLaunchTemplateRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void CreateLaunchTemplateRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+float CreateLaunchTemplateRequest::getSpotPriceLimit()const
+{
+	return spotPriceLimit_;
+}
+
+void CreateLaunchTemplateRequest::setSpotPriceLimit(float spotPriceLimit)
+{
+	spotPriceLimit_ = spotPriceLimit;
+	setParameter("SpotPriceLimit", std::to_string(spotPriceLimit));
+}
+
+std::string CreateLaunchTemplateRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void CreateLaunchTemplateRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string CreateLaunchTemplateRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void CreateLaunchTemplateRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string CreateLaunchTemplateRequest::getImageOwnerAlias()const
+{
+	return imageOwnerAlias_;
+}
+
+void CreateLaunchTemplateRequest::setImageOwnerAlias(const std::string& imageOwnerAlias)
+{
+	imageOwnerAlias_ = imageOwnerAlias;
+	setParameter("ImageOwnerAlias", imageOwnerAlias);
+}
+
+std::string CreateLaunchTemplateRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateLaunchTemplateRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string CreateLaunchTemplateRequest::getHostName()const
+{
+	return hostName_;
+}
+
+void CreateLaunchTemplateRequest::setHostName(const std::string& hostName)
+{
+	hostName_ = hostName;
+	setParameter("HostName", hostName);
+}
+
+std::string CreateLaunchTemplateRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void CreateLaunchTemplateRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+bool CreateLaunchTemplateRequest::getEnable()const
+{
+	return enable_;
+}
+
+void CreateLaunchTemplateRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+int CreateLaunchTemplateRequest::getSystemDiskIops()const
+{
+	return systemDiskIops_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskIops(int systemDiskIops)
+{
+	systemDiskIops_ = systemDiskIops;
+	setParameter("SystemDiskIops", std::to_string(systemDiskIops));
+}
+
+std::string CreateLaunchTemplateRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void CreateLaunchTemplateRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::vector<CreateLaunchTemplateRequest::Tag> CreateLaunchTemplateRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateLaunchTemplateRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	int i = 0;
+	for(int i = 0; i!= tag.size(); i++)	{
+		auto obj = tag.at(i);
+		std::string str ="Tag."+ std::to_string(i);
+		setParameter(str + ".Key", obj.key);
+		setParameter(str + ".Value", obj.value);
+	}
+}
+
+long CreateLaunchTemplateRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void CreateLaunchTemplateRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+int CreateLaunchTemplateRequest::getPeriod()const
+{
+	return period_;
+}
+
+void CreateLaunchTemplateRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
+long CreateLaunchTemplateRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateLaunchTemplateRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool CreateLaunchTemplateRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void CreateLaunchTemplateRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool CreateLaunchTemplateRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void CreateLaunchTemplateRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string CreateLaunchTemplateRequest::getVSwitchId()const
+{
+	return vSwitchId_;
+}
+
+void CreateLaunchTemplateRequest::setVSwitchId(const std::string& vSwitchId)
+{
+	vSwitchId_ = vSwitchId;
+	setParameter("VSwitchId", vSwitchId);
+}
+
+std::string CreateLaunchTemplateRequest::getSpotStrategy()const
+{
+	return spotStrategy_;
+}
+
+void CreateLaunchTemplateRequest::setSpotStrategy(const std::string& spotStrategy)
+{
+	spotStrategy_ = spotStrategy;
+	setParameter("SpotStrategy", spotStrategy);
+}
+
+std::string CreateLaunchTemplateRequest::getInstanceName()const
+{
+	return instanceName_;
+}
+
+void CreateLaunchTemplateRequest::setInstanceName(const std::string& instanceName)
+{
+	instanceName_ = instanceName;
+	setParameter("InstanceName", instanceName);
+}
+
+std::string CreateLaunchTemplateRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void CreateLaunchTemplateRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string CreateLaunchTemplateRequest::getInternetChargeType()const
+{
+	return internetChargeType_;
+}
+
+void CreateLaunchTemplateRequest::setInternetChargeType(const std::string& internetChargeType)
+{
+	internetChargeType_ = internetChargeType;
+	setParameter("InternetChargeType", internetChargeType);
+}
+
+std::string CreateLaunchTemplateRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateLaunchTemplateRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+int CreateLaunchTemplateRequest::getInternetMaxBandwidthIn()const
+{
+	return internetMaxBandwidthIn_;
+}
+
+void CreateLaunchTemplateRequest::setInternetMaxBandwidthIn(int internetMaxBandwidthIn)
+{
+	internetMaxBandwidthIn_ = internetMaxBandwidthIn;
+	setParameter("InternetMaxBandwidthIn", std::to_string(internetMaxBandwidthIn));
+}
+
+std::string CreateLaunchTemplateRequest::getVersionDescription()const
+{
+	return versionDescription_;
+}
+
+void CreateLaunchTemplateRequest::setVersionDescription(const std::string& versionDescription)
+{
+	versionDescription_ = versionDescription;
+	setParameter("VersionDescription", versionDescription);
+}
+
+std::string CreateLaunchTemplateRequest::getImageId()const
+{
+	return imageId_;
+}
+
+void CreateLaunchTemplateRequest::setImageId(const std::string& imageId)
+{
+	imageId_ = imageId;
+	setParameter("ImageId", imageId);
+}
+
+std::string CreateLaunchTemplateRequest::getIoOptimized()const
+{
+	return ioOptimized_;
+}
+
+void CreateLaunchTemplateRequest::setIoOptimized(const std::string& ioOptimized)
+{
+	ioOptimized_ = ioOptimized;
+	setParameter("IoOptimized", ioOptimized);
+}
+
+std::string CreateLaunchTemplateRequest::getSecurityGroupId()const
+{
+	return securityGroupId_;
+}
+
+void CreateLaunchTemplateRequest::setSecurityGroupId(const std::string& securityGroupId)
+{
+	securityGroupId_ = securityGroupId;
+	setParameter("SecurityGroupId", securityGroupId);
+}
+
+int CreateLaunchTemplateRequest::getInternetMaxBandwidthOut()const
+{
+	return internetMaxBandwidthOut_;
+}
+
+void CreateLaunchTemplateRequest::setInternetMaxBandwidthOut(int internetMaxBandwidthOut)
+{
+	internetMaxBandwidthOut_ = internetMaxBandwidthOut;
+	setParameter("InternetMaxBandwidthOut", std::to_string(internetMaxBandwidthOut));
+}
+
+bool CreateLaunchTemplateRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void CreateLaunchTemplateRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string CreateLaunchTemplateRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateLaunchTemplateRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateLaunchTemplateRequest::getSystemDiskCategory()const
+{
+	return systemDiskCategory_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskCategory(const std::string& systemDiskCategory)
+{
+	systemDiskCategory_ = systemDiskCategory;
+	setParameter("SystemDiskCategory", systemDiskCategory);
+}
+
+std::string CreateLaunchTemplateRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateLaunchTemplateRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateLaunchTemplateRequest::getUserData()const
+{
+	return userData_;
+}
+
+void CreateLaunchTemplateRequest::setUserData(const std::string& userData)
+{
+	userData_ = userData;
+	setParameter("UserData", userData);
+}
+
+std::string CreateLaunchTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateLaunchTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreateLaunchTemplateRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void CreateLaunchTemplateRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string CreateLaunchTemplateRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void CreateLaunchTemplateRequest::setInstanceType(const std::string& instanceType)
+{
+	instanceType_ = instanceType;
+	setParameter("InstanceType", instanceType);
+}
+
+std::string CreateLaunchTemplateRequest::getInstanceChargeType()const
+{
+	return instanceChargeType_;
+}
+
+void CreateLaunchTemplateRequest::setInstanceChargeType(const std::string& instanceChargeType)
+{
+	instanceChargeType_ = instanceChargeType;
+	setParameter("InstanceChargeType", instanceChargeType);
+}
+
+std::string CreateLaunchTemplateRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void CreateLaunchTemplateRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+bool CreateLaunchTemplateRequest::getEnableVmOsConfig()const
+{
+	return enableVmOsConfig_;
+}
+
+void CreateLaunchTemplateRequest::setEnableVmOsConfig(bool enableVmOsConfig)
+{
+	enableVmOsConfig_ = enableVmOsConfig;
+	setParameter("EnableVmOsConfig", std::to_string(enableVmOsConfig));
+}
+
+std::vector<CreateLaunchTemplateRequest::NetworkInterface> CreateLaunchTemplateRequest::getNetworkInterface()const
+{
+	return networkInterface_;
+}
+
+void CreateLaunchTemplateRequest::setNetworkInterface(const std::vector<NetworkInterface>& networkInterface)
+{
+	networkInterface_ = networkInterface;
+	int i = 0;
+	for(int i = 0; i!= networkInterface.size(); i++)	{
+		auto obj = networkInterface.at(i);
+		std::string str ="NetworkInterface."+ std::to_string(i);
+		setParameter(str + ".PrimaryIpAddress", obj.primaryIpAddress);
+		setParameter(str + ".VSwitchId", obj.vSwitchId);
+		setParameter(str + ".SecurityGroupId", obj.securityGroupId);
+		setParameter(str + ".NetworkInterfaceName", obj.networkInterfaceName);
+		setParameter(str + ".Description", obj.description);
+	}
+}
+
+std::string CreateLaunchTemplateRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void CreateLaunchTemplateRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string CreateLaunchTemplateRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateLaunchTemplateRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateLaunchTemplateRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateLaunchTemplateRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string CreateLaunchTemplateRequest::getSystemDiskDiskName()const
+{
+	return systemDiskDiskName_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskDiskName(const std::string& systemDiskDiskName)
+{
+	systemDiskDiskName_ = systemDiskDiskName;
+	setParameter("SystemDiskDiskName", systemDiskDiskName);
+}
+
+std::string CreateLaunchTemplateRequest::getRamRoleName()const
+{
+	return ramRoleName_;
+}
+
+void CreateLaunchTemplateRequest::setRamRoleName(const std::string& ramRoleName)
+{
+	ramRoleName_ = ramRoleName;
+	setParameter("RamRoleName", ramRoleName);
+}
+
+std::string CreateLaunchTemplateRequest::getAutoReleaseTime()const
+{
+	return autoReleaseTime_;
+}
+
+void CreateLaunchTemplateRequest::setAutoReleaseTime(const std::string& autoReleaseTime)
+{
+	autoReleaseTime_ = autoReleaseTime;
+	setParameter("AutoReleaseTime", autoReleaseTime);
+}
+
+std::string CreateLaunchTemplateRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void CreateLaunchTemplateRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+int CreateLaunchTemplateRequest::getSpotDuration()const
+{
+	return spotDuration_;
+}
+
+void CreateLaunchTemplateRequest::setSpotDuration(int spotDuration)
+{
+	spotDuration_ = spotDuration;
+	setParameter("SpotDuration", std::to_string(spotDuration));
+}
+
+std::vector<CreateLaunchTemplateRequest::DataDisk> CreateLaunchTemplateRequest::getDataDisk()const
+{
+	return dataDisk_;
+}
+
+void CreateLaunchTemplateRequest::setDataDisk(const std::vector<DataDisk>& dataDisk)
+{
+	dataDisk_ = dataDisk;
+	int i = 0;
+	for(int i = 0; i!= dataDisk.size(); i++)	{
+		auto obj = dataDisk.at(i);
+		std::string str ="DataDisk."+ std::to_string(i);
+		setParameter(str + ".Size", std::to_string(obj.size));
+		setParameter(str + ".SnapshotId", obj.snapshotId);
+		setParameter(str + ".Category", obj.category);
+		setParameter(str + ".Encrypted", obj.encrypted);
+		setParameter(str + ".DiskName", obj.diskName);
+		setParameter(str + ".Description", obj.description);
+		setParameter(str + ".DeleteWithInstance", std::to_string(obj.deleteWithInstance));
+	}
+}
+
+bool CreateLaunchTemplateRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void CreateLaunchTemplateRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+int CreateLaunchTemplateRequest::getSystemDiskSize()const
+{
+	return systemDiskSize_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskSize(int systemDiskSize)
+{
+	systemDiskSize_ = systemDiskSize;
+	setParameter("SystemDiskSize", std::to_string(systemDiskSize));
+}
+
+std::string CreateLaunchTemplateRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void CreateLaunchTemplateRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+
+std::string CreateLaunchTemplateRequest::getSystemDiskDescription()const
+{
+	return systemDiskDescription_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskDescription(const std::string& systemDiskDescription)
+{
+	systemDiskDescription_ = systemDiskDescription;
+	setParameter("SystemDiskDescription", systemDiskDescription);
+}
+

+ 9 - 9
ecs/src/model/CreateVolumeResult.cc → ecs/src/model/CreateLaunchTemplateResult.cc

@@ -14,39 +14,39 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/CreateVolumeResult.h>
+#include <alibabacloud/ecs/model/CreateLaunchTemplateResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-CreateVolumeResult::CreateVolumeResult() :
+CreateLaunchTemplateResult::CreateLaunchTemplateResult() :
 	ServiceResult()
 {}
 
-CreateVolumeResult::CreateVolumeResult(const std::string &payload) :
+CreateLaunchTemplateResult::CreateLaunchTemplateResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-CreateVolumeResult::~CreateVolumeResult()
+CreateLaunchTemplateResult::~CreateLaunchTemplateResult()
 {}
 
-void CreateVolumeResult::parse(const std::string &payload)
+void CreateLaunchTemplateResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	if(!value["VolumeId"].isNull())
-		volumeId_ = value["VolumeId"].asString();
+	if(!value["LaunchTemplateId"].isNull())
+		launchTemplateId_ = value["LaunchTemplateId"].asString();
 
 }
 
-std::string CreateVolumeResult::getVolumeId()const
+std::string CreateLaunchTemplateResult::getLaunchTemplateId()const
 {
-	return volumeId_;
+	return launchTemplateId_;
 }
 

+ 724 - 0
ecs/src/model/CreateLaunchTemplateVersionRequest.cc

@@ -0,0 +1,724 @@
+/*
+ * 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/CreateLaunchTemplateVersionRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateLaunchTemplateVersionRequest;
+
+CreateLaunchTemplateVersionRequest::CreateLaunchTemplateVersionRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "CreateLaunchTemplateVersion")
+{}
+
+CreateLaunchTemplateVersionRequest::~CreateLaunchTemplateVersionRequest()
+{}
+
+std::string CreateLaunchTemplateVersionRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void CreateLaunchTemplateVersionRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
+long CreateLaunchTemplateVersionRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long CreateLaunchTemplateVersionRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSecurityEnhancementStrategy()const
+{
+	return securityEnhancementStrategy_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy)
+{
+	securityEnhancementStrategy_ = securityEnhancementStrategy;
+	setParameter("SecurityEnhancementStrategy", securityEnhancementStrategy);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getNetworkType()const
+{
+	return networkType_;
+}
+
+void CreateLaunchTemplateVersionRequest::setNetworkType(const std::string& networkType)
+{
+	networkType_ = networkType;
+	setParameter("NetworkType", networkType);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getKeyPairName()const
+{
+	return keyPairName_;
+}
+
+void CreateLaunchTemplateVersionRequest::setKeyPairName(const std::string& keyPairName)
+{
+	keyPairName_ = keyPairName;
+	setParameter("KeyPairName", keyPairName);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void CreateLaunchTemplateVersionRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+float CreateLaunchTemplateVersionRequest::getSpotPriceLimit()const
+{
+	return spotPriceLimit_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSpotPriceLimit(float spotPriceLimit)
+{
+	spotPriceLimit_ = spotPriceLimit;
+	setParameter("SpotPriceLimit", std::to_string(spotPriceLimit));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void CreateLaunchTemplateVersionRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void CreateLaunchTemplateVersionRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getImageOwnerAlias()const
+{
+	return imageOwnerAlias_;
+}
+
+void CreateLaunchTemplateVersionRequest::setImageOwnerAlias(const std::string& imageOwnerAlias)
+{
+	imageOwnerAlias_ = imageOwnerAlias;
+	setParameter("ImageOwnerAlias", imageOwnerAlias);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getHostName()const
+{
+	return hostName_;
+}
+
+void CreateLaunchTemplateVersionRequest::setHostName(const std::string& hostName)
+{
+	hostName_ = hostName;
+	setParameter("HostName", hostName);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+bool CreateLaunchTemplateVersionRequest::getEnable()const
+{
+	return enable_;
+}
+
+void CreateLaunchTemplateVersionRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+int CreateLaunchTemplateVersionRequest::getSystemDiskIops()const
+{
+	return systemDiskIops_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskIops(int systemDiskIops)
+{
+	systemDiskIops_ = systemDiskIops;
+	setParameter("SystemDiskIops", std::to_string(systemDiskIops));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void CreateLaunchTemplateVersionRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::vector<CreateLaunchTemplateVersionRequest::Tag> CreateLaunchTemplateVersionRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateLaunchTemplateVersionRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	int i = 0;
+	for(int i = 0; i!= tag.size(); i++)	{
+		auto obj = tag.at(i);
+		std::string str ="Tag."+ std::to_string(i);
+		setParameter(str + ".Key", obj.key);
+		setParameter(str + ".Value", obj.value);
+	}
+}
+
+long CreateLaunchTemplateVersionRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void CreateLaunchTemplateVersionRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+int CreateLaunchTemplateVersionRequest::getPeriod()const
+{
+	return period_;
+}
+
+void CreateLaunchTemplateVersionRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setParameter("LaunchTemplateId", launchTemplateId);
+}
+
+long CreateLaunchTemplateVersionRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool CreateLaunchTemplateVersionRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void CreateLaunchTemplateVersionRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool CreateLaunchTemplateVersionRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getVSwitchId()const
+{
+	return vSwitchId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setVSwitchId(const std::string& vSwitchId)
+{
+	vSwitchId_ = vSwitchId;
+	setParameter("VSwitchId", vSwitchId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSpotStrategy()const
+{
+	return spotStrategy_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSpotStrategy(const std::string& spotStrategy)
+{
+	spotStrategy_ = spotStrategy;
+	setParameter("SpotStrategy", spotStrategy);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getInstanceName()const
+{
+	return instanceName_;
+}
+
+void CreateLaunchTemplateVersionRequest::setInstanceName(const std::string& instanceName)
+{
+	instanceName_ = instanceName;
+	setParameter("InstanceName", instanceName);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getInternetChargeType()const
+{
+	return internetChargeType_;
+}
+
+void CreateLaunchTemplateVersionRequest::setInternetChargeType(const std::string& internetChargeType)
+{
+	internetChargeType_ = internetChargeType;
+	setParameter("InternetChargeType", internetChargeType);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+int CreateLaunchTemplateVersionRequest::getInternetMaxBandwidthIn()const
+{
+	return internetMaxBandwidthIn_;
+}
+
+void CreateLaunchTemplateVersionRequest::setInternetMaxBandwidthIn(int internetMaxBandwidthIn)
+{
+	internetMaxBandwidthIn_ = internetMaxBandwidthIn;
+	setParameter("InternetMaxBandwidthIn", std::to_string(internetMaxBandwidthIn));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getVersionDescription()const
+{
+	return versionDescription_;
+}
+
+void CreateLaunchTemplateVersionRequest::setVersionDescription(const std::string& versionDescription)
+{
+	versionDescription_ = versionDescription;
+	setParameter("VersionDescription", versionDescription);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getImageId()const
+{
+	return imageId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setImageId(const std::string& imageId)
+{
+	imageId_ = imageId;
+	setParameter("ImageId", imageId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getIoOptimized()const
+{
+	return ioOptimized_;
+}
+
+void CreateLaunchTemplateVersionRequest::setIoOptimized(const std::string& ioOptimized)
+{
+	ioOptimized_ = ioOptimized;
+	setParameter("IoOptimized", ioOptimized);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSecurityGroupId()const
+{
+	return securityGroupId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSecurityGroupId(const std::string& securityGroupId)
+{
+	securityGroupId_ = securityGroupId;
+	setParameter("SecurityGroupId", securityGroupId);
+}
+
+int CreateLaunchTemplateVersionRequest::getInternetMaxBandwidthOut()const
+{
+	return internetMaxBandwidthOut_;
+}
+
+void CreateLaunchTemplateVersionRequest::setInternetMaxBandwidthOut(int internetMaxBandwidthOut)
+{
+	internetMaxBandwidthOut_ = internetMaxBandwidthOut;
+	setParameter("InternetMaxBandwidthOut", std::to_string(internetMaxBandwidthOut));
+}
+
+bool CreateLaunchTemplateVersionRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void CreateLaunchTemplateVersionRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateLaunchTemplateVersionRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSystemDiskCategory()const
+{
+	return systemDiskCategory_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskCategory(const std::string& systemDiskCategory)
+{
+	systemDiskCategory_ = systemDiskCategory;
+	setParameter("SystemDiskCategory", systemDiskCategory);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getUserData()const
+{
+	return userData_;
+}
+
+void CreateLaunchTemplateVersionRequest::setUserData(const std::string& userData)
+{
+	userData_ = userData;
+	setParameter("UserData", userData);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void CreateLaunchTemplateVersionRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void CreateLaunchTemplateVersionRequest::setInstanceType(const std::string& instanceType)
+{
+	instanceType_ = instanceType;
+	setParameter("InstanceType", instanceType);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getInstanceChargeType()const
+{
+	return instanceChargeType_;
+}
+
+void CreateLaunchTemplateVersionRequest::setInstanceChargeType(const std::string& instanceChargeType)
+{
+	instanceChargeType_ = instanceChargeType;
+	setParameter("InstanceChargeType", instanceChargeType);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void CreateLaunchTemplateVersionRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+bool CreateLaunchTemplateVersionRequest::getEnableVmOsConfig()const
+{
+	return enableVmOsConfig_;
+}
+
+void CreateLaunchTemplateVersionRequest::setEnableVmOsConfig(bool enableVmOsConfig)
+{
+	enableVmOsConfig_ = enableVmOsConfig;
+	setParameter("EnableVmOsConfig", std::to_string(enableVmOsConfig));
+}
+
+std::vector<CreateLaunchTemplateVersionRequest::NetworkInterface> CreateLaunchTemplateVersionRequest::getNetworkInterface()const
+{
+	return networkInterface_;
+}
+
+void CreateLaunchTemplateVersionRequest::setNetworkInterface(const std::vector<NetworkInterface>& networkInterface)
+{
+	networkInterface_ = networkInterface;
+	int i = 0;
+	for(int i = 0; i!= networkInterface.size(); i++)	{
+		auto obj = networkInterface.at(i);
+		std::string str ="NetworkInterface."+ std::to_string(i);
+		setParameter(str + ".PrimaryIpAddress", obj.primaryIpAddress);
+		setParameter(str + ".VSwitchId", obj.vSwitchId);
+		setParameter(str + ".SecurityGroupId", obj.securityGroupId);
+		setParameter(str + ".NetworkInterfaceName", obj.networkInterfaceName);
+		setParameter(str + ".Description", obj.description);
+	}
+}
+
+std::string CreateLaunchTemplateVersionRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void CreateLaunchTemplateVersionRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateLaunchTemplateVersionRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateLaunchTemplateVersionRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSystemDiskDiskName()const
+{
+	return systemDiskDiskName_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskDiskName(const std::string& systemDiskDiskName)
+{
+	systemDiskDiskName_ = systemDiskDiskName;
+	setParameter("SystemDiskDiskName", systemDiskDiskName);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getRamRoleName()const
+{
+	return ramRoleName_;
+}
+
+void CreateLaunchTemplateVersionRequest::setRamRoleName(const std::string& ramRoleName)
+{
+	ramRoleName_ = ramRoleName;
+	setParameter("RamRoleName", ramRoleName);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getAutoReleaseTime()const
+{
+	return autoReleaseTime_;
+}
+
+void CreateLaunchTemplateVersionRequest::setAutoReleaseTime(const std::string& autoReleaseTime)
+{
+	autoReleaseTime_ = autoReleaseTime;
+	setParameter("AutoReleaseTime", autoReleaseTime);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void CreateLaunchTemplateVersionRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+int CreateLaunchTemplateVersionRequest::getSpotDuration()const
+{
+	return spotDuration_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSpotDuration(int spotDuration)
+{
+	spotDuration_ = spotDuration;
+	setParameter("SpotDuration", std::to_string(spotDuration));
+}
+
+std::vector<CreateLaunchTemplateVersionRequest::DataDisk> CreateLaunchTemplateVersionRequest::getDataDisk()const
+{
+	return dataDisk_;
+}
+
+void CreateLaunchTemplateVersionRequest::setDataDisk(const std::vector<DataDisk>& dataDisk)
+{
+	dataDisk_ = dataDisk;
+	int i = 0;
+	for(int i = 0; i!= dataDisk.size(); i++)	{
+		auto obj = dataDisk.at(i);
+		std::string str ="DataDisk."+ std::to_string(i);
+		setParameter(str + ".Size", std::to_string(obj.size));
+		setParameter(str + ".SnapshotId", obj.snapshotId);
+		setParameter(str + ".Category", obj.category);
+		setParameter(str + ".Encrypted", obj.encrypted);
+		setParameter(str + ".DiskName", obj.diskName);
+		setParameter(str + ".Description", obj.description);
+		setParameter(str + ".DeleteWithInstance", std::to_string(obj.deleteWithInstance));
+	}
+}
+
+bool CreateLaunchTemplateVersionRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void CreateLaunchTemplateVersionRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+int CreateLaunchTemplateVersionRequest::getSystemDiskSize()const
+{
+	return systemDiskSize_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskSize(int systemDiskSize)
+{
+	systemDiskSize_ = systemDiskSize;
+	setParameter("SystemDiskSize", std::to_string(systemDiskSize));
+}
+
+std::string CreateLaunchTemplateVersionRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void CreateLaunchTemplateVersionRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+
+std::string CreateLaunchTemplateVersionRequest::getSystemDiskDescription()const
+{
+	return systemDiskDescription_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskDescription(const std::string& systemDiskDescription)
+{
+	systemDiskDescription_ = systemDiskDescription;
+	setParameter("SystemDiskDescription", systemDiskDescription);
+}
+

+ 9 - 9
ecs/src/model/ModifyUserEventAttributeResult.cc → ecs/src/model/CreateLaunchTemplateVersionResult.cc

@@ -14,39 +14,39 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/ModifyUserEventAttributeResult.h>
+#include <alibabacloud/ecs/model/CreateLaunchTemplateVersionResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-ModifyUserEventAttributeResult::ModifyUserEventAttributeResult() :
+CreateLaunchTemplateVersionResult::CreateLaunchTemplateVersionResult() :
 	ServiceResult()
 {}
 
-ModifyUserEventAttributeResult::ModifyUserEventAttributeResult(const std::string &payload) :
+CreateLaunchTemplateVersionResult::CreateLaunchTemplateVersionResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-ModifyUserEventAttributeResult::~ModifyUserEventAttributeResult()
+CreateLaunchTemplateVersionResult::~CreateLaunchTemplateVersionResult()
 {}
 
-void ModifyUserEventAttributeResult::parse(const std::string &payload)
+void CreateLaunchTemplateVersionResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	if(!value["EventId"].isNull())
-		eventId_ = value["EventId"].asString();
+	if(!value["LaunchTemplateVersionNumber"].isNull())
+		launchTemplateVersionNumber_ = std::stol(value["LaunchTemplateVersionNumber"].asString());
 
 }
 
-std::string ModifyUserEventAttributeResult::getEventId()const
+long CreateLaunchTemplateVersionResult::getLaunchTemplateVersionNumber()const
 {
-	return eventId_;
+	return launchTemplateVersionNumber_;
 }
 

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

@@ -179,6 +179,17 @@ void CreateSecurityGroupRequest::setTag1Value(const std::string& tag1Value)
 	setParameter("Tag1Value", tag1Value);
 }
 
+std::string CreateSecurityGroupRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateSecurityGroupRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string CreateSecurityGroupRequest::getRegionId()const
 {
 	return regionId_;

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

@@ -1,313 +0,0 @@
-/*
- * 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/CreateUserEventRequest.h>
-
-using AlibabaCloud::Ecs::Model::CreateUserEventRequest;
-
-CreateUserEventRequest::CreateUserEventRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "CreateUserEvent")
-{}
-
-CreateUserEventRequest::~CreateUserEventRequest()
-{}
-
-long CreateUserEventRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void CreateUserEventRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-long CreateUserEventRequest::getCallerParentId()const
-{
-	return callerParentId_;
-}
-
-void CreateUserEventRequest::setCallerParentId(long callerParentId)
-{
-	callerParentId_ = callerParentId;
-	setParameter("CallerParentId", std::to_string(callerParentId));
-}
-
-bool CreateUserEventRequest::getProxy_original_security_transport()const
-{
-	return proxy_original_security_transport_;
-}
-
-void CreateUserEventRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
-{
-	proxy_original_security_transport_ = proxy_original_security_transport;
-	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
-}
-
-std::string CreateUserEventRequest::getProxy_original_source_ip()const
-{
-	return proxy_original_source_ip_;
-}
-
-void CreateUserEventRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
-{
-	proxy_original_source_ip_ = proxy_original_source_ip;
-	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
-}
-
-std::string CreateUserEventRequest::getOwnerIdLoginEmail()const
-{
-	return ownerIdLoginEmail_;
-}
-
-void CreateUserEventRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
-{
-	ownerIdLoginEmail_ = ownerIdLoginEmail;
-	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
-}
-
-std::string CreateUserEventRequest::getCallerType()const
-{
-	return callerType_;
-}
-
-void CreateUserEventRequest::setCallerType(const std::string& callerType)
-{
-	callerType_ = callerType;
-	setParameter("CallerType", callerType);
-}
-
-std::string CreateUserEventRequest::getAccessKeyId()const
-{
-	return accessKeyId_;
-}
-
-void CreateUserEventRequest::setAccessKeyId(const std::string& accessKeyId)
-{
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
-}
-
-std::string CreateUserEventRequest::getSecurityToken()const
-{
-	return securityToken_;
-}
-
-void CreateUserEventRequest::setSecurityToken(const std::string& securityToken)
-{
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
-}
-
-std::string CreateUserEventRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void CreateUserEventRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-bool CreateUserEventRequest::getEnable()const
-{
-	return enable_;
-}
-
-void CreateUserEventRequest::setEnable(bool enable)
-{
-	enable_ = enable;
-	setParameter("Enable", std::to_string(enable));
-}
-
-std::string CreateUserEventRequest::getRequestContent()const
-{
-	return requestContent_;
-}
-
-void CreateUserEventRequest::setRequestContent(const std::string& requestContent)
-{
-	requestContent_ = requestContent;
-	setParameter("RequestContent", requestContent);
-}
-
-std::string CreateUserEventRequest::getCallerBidEmail()const
-{
-	return callerBidEmail_;
-}
-
-void CreateUserEventRequest::setCallerBidEmail(const std::string& callerBidEmail)
-{
-	callerBidEmail_ = callerBidEmail;
-	setParameter("CallerBidEmail", callerBidEmail);
-}
-
-std::string CreateUserEventRequest::getPlanTime()const
-{
-	return planTime_;
-}
-
-void CreateUserEventRequest::setPlanTime(const std::string& planTime)
-{
-	planTime_ = planTime;
-	setParameter("PlanTime", planTime);
-}
-
-std::string CreateUserEventRequest::getCallerUidEmail()const
-{
-	return callerUidEmail_;
-}
-
-void CreateUserEventRequest::setCallerUidEmail(const std::string& callerUidEmail)
-{
-	callerUidEmail_ = callerUidEmail;
-	setParameter("CallerUidEmail", callerUidEmail);
-}
-
-long CreateUserEventRequest::getCallerUid()const
-{
-	return callerUid_;
-}
-
-void CreateUserEventRequest::setCallerUid(long callerUid)
-{
-	callerUid_ = callerUid;
-	setParameter("CallerUid", std::to_string(callerUid));
-}
-
-std::string CreateUserEventRequest::getApp_ip()const
-{
-	return app_ip_;
-}
-
-void CreateUserEventRequest::setApp_ip(const std::string& app_ip)
-{
-	app_ip_ = app_ip;
-	setParameter("App_ip", app_ip);
-}
-
-std::string CreateUserEventRequest::getExpireTime()const
-{
-	return expireTime_;
-}
-
-void CreateUserEventRequest::setExpireTime(const std::string& expireTime)
-{
-	expireTime_ = expireTime;
-	setParameter("ExpireTime", expireTime);
-}
-
-std::string CreateUserEventRequest::getResourceId()const
-{
-	return resourceId_;
-}
-
-void CreateUserEventRequest::setResourceId(const std::string& resourceId)
-{
-	resourceId_ = resourceId;
-	setParameter("ResourceId", resourceId);
-}
-
-std::string CreateUserEventRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void CreateUserEventRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string CreateUserEventRequest::getCallerBid()const
-{
-	return callerBid_;
-}
-
-void CreateUserEventRequest::setCallerBid(const std::string& callerBid)
-{
-	callerBid_ = callerBid;
-	setParameter("CallerBid", callerBid);
-}
-
-long CreateUserEventRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void CreateUserEventRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-
-bool CreateUserEventRequest::getProxy_trust_transport_info()const
-{
-	return proxy_trust_transport_info_;
-}
-
-void CreateUserEventRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
-{
-	proxy_trust_transport_info_ = proxy_trust_transport_info;
-	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
-}
-
-bool CreateUserEventRequest::getAk_mfa_present()const
-{
-	return ak_mfa_present_;
-}
-
-void CreateUserEventRequest::setAk_mfa_present(bool ak_mfa_present)
-{
-	ak_mfa_present_ = ak_mfa_present;
-	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
-}
-
-bool CreateUserEventRequest::getSecurity_transport()const
-{
-	return security_transport_;
-}
-
-void CreateUserEventRequest::setSecurity_transport(bool security_transport)
-{
-	security_transport_ = security_transport;
-	setParameter("Security_transport", std::to_string(security_transport));
-}
-
-std::string CreateUserEventRequest::getRequestId()const
-{
-	return requestId_;
-}
-
-void CreateUserEventRequest::setRequestId(const std::string& requestId)
-{
-	requestId_ = requestId;
-	setParameter("RequestId", requestId);
-}
-
-std::string CreateUserEventRequest::getEventType()const
-{
-	return eventType_;
-}
-
-void CreateUserEventRequest::setEventType(const std::string& eventType)
-{
-	eventType_ = eventType;
-	setParameter("EventType", eventType);
-}
-

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

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

+ 0 - 280
ecs/src/model/CreateVolumeRequest.cc

@@ -1,280 +0,0 @@
-/*
- * 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/CreateVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::CreateVolumeRequest;
-
-CreateVolumeRequest::CreateVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "CreateVolume")
-{}
-
-CreateVolumeRequest::~CreateVolumeRequest()
-{}
-
-std::string CreateVolumeRequest::getTag4Value()const
-{
-	return tag4Value_;
-}
-
-void CreateVolumeRequest::setTag4Value(const std::string& tag4Value)
-{
-	tag4Value_ = tag4Value;
-	setParameter("Tag4Value", tag4Value);
-}
-
-long CreateVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void CreateVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string CreateVolumeRequest::getSnapshotId()const
-{
-	return snapshotId_;
-}
-
-void CreateVolumeRequest::setSnapshotId(const std::string& snapshotId)
-{
-	snapshotId_ = snapshotId;
-	setParameter("SnapshotId", snapshotId);
-}
-
-std::string CreateVolumeRequest::getTag2Key()const
-{
-	return tag2Key_;
-}
-
-void CreateVolumeRequest::setTag2Key(const std::string& tag2Key)
-{
-	tag2Key_ = tag2Key;
-	setParameter("Tag2Key", tag2Key);
-}
-
-std::string CreateVolumeRequest::getVolumeName()const
-{
-	return volumeName_;
-}
-
-void CreateVolumeRequest::setVolumeName(const std::string& volumeName)
-{
-	volumeName_ = volumeName;
-	setParameter("VolumeName", volumeName);
-}
-
-bool CreateVolumeRequest::getVolumeEncrypted()const
-{
-	return volumeEncrypted_;
-}
-
-void CreateVolumeRequest::setVolumeEncrypted(bool volumeEncrypted)
-{
-	volumeEncrypted_ = volumeEncrypted;
-	setParameter("VolumeEncrypted", std::to_string(volumeEncrypted));
-}
-
-std::string CreateVolumeRequest::getTag5Key()const
-{
-	return tag5Key_;
-}
-
-void CreateVolumeRequest::setTag5Key(const std::string& tag5Key)
-{
-	tag5Key_ = tag5Key;
-	setParameter("Tag5Key", tag5Key);
-}
-
-std::string CreateVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void CreateVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string CreateVolumeRequest::getClientToken()const
-{
-	return clientToken_;
-}
-
-void CreateVolumeRequest::setClientToken(const std::string& clientToken)
-{
-	clientToken_ = clientToken;
-	setParameter("ClientToken", clientToken);
-}
-
-std::string CreateVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void CreateVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string CreateVolumeRequest::getDescription()const
-{
-	return description_;
-}
-
-void CreateVolumeRequest::setDescription(const std::string& description)
-{
-	description_ = description;
-	setParameter("Description", description);
-}
-
-std::string CreateVolumeRequest::getTag3Key()const
-{
-	return tag3Key_;
-}
-
-void CreateVolumeRequest::setTag3Key(const std::string& tag3Key)
-{
-	tag3Key_ = tag3Key;
-	setParameter("Tag3Key", tag3Key);
-}
-
-long CreateVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void CreateVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-
-std::string CreateVolumeRequest::getTag5Value()const
-{
-	return tag5Value_;
-}
-
-void CreateVolumeRequest::setTag5Value(const std::string& tag5Value)
-{
-	tag5Value_ = tag5Value;
-	setParameter("Tag5Value", tag5Value);
-}
-
-std::string CreateVolumeRequest::getTag1Key()const
-{
-	return tag1Key_;
-}
-
-void CreateVolumeRequest::setTag1Key(const std::string& tag1Key)
-{
-	tag1Key_ = tag1Key;
-	setParameter("Tag1Key", tag1Key);
-}
-
-std::string CreateVolumeRequest::getTag1Value()const
-{
-	return tag1Value_;
-}
-
-void CreateVolumeRequest::setTag1Value(const std::string& tag1Value)
-{
-	tag1Value_ = tag1Value;
-	setParameter("Tag1Value", tag1Value);
-}
-
-std::string CreateVolumeRequest::getVolumeCategory()const
-{
-	return volumeCategory_;
-}
-
-void CreateVolumeRequest::setVolumeCategory(const std::string& volumeCategory)
-{
-	volumeCategory_ = volumeCategory;
-	setParameter("VolumeCategory", volumeCategory);
-}
-
-int CreateVolumeRequest::getSize()const
-{
-	return size_;
-}
-
-void CreateVolumeRequest::setSize(int size)
-{
-	size_ = size;
-	setParameter("Size", std::to_string(size));
-}
-
-std::string CreateVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void CreateVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string CreateVolumeRequest::getTag2Value()const
-{
-	return tag2Value_;
-}
-
-void CreateVolumeRequest::setTag2Value(const std::string& tag2Value)
-{
-	tag2Value_ = tag2Value;
-	setParameter("Tag2Value", tag2Value);
-}
-
-std::string CreateVolumeRequest::getZoneId()const
-{
-	return zoneId_;
-}
-
-void CreateVolumeRequest::setZoneId(const std::string& zoneId)
-{
-	zoneId_ = zoneId;
-	setParameter("ZoneId", zoneId);
-}
-
-std::string CreateVolumeRequest::getTag4Key()const
-{
-	return tag4Key_;
-}
-
-void CreateVolumeRequest::setTag4Key(const std::string& tag4Key)
-{
-	tag4Key_ = tag4Key;
-	setParameter("Tag4Key", tag4Key);
-}
-
-std::string CreateVolumeRequest::getTag3Value()const
-{
-	return tag3Value_;
-}
-
-void CreateVolumeRequest::setTag3Value(const std::string& tag3Value)
-{
-	tag3Value_ = tag3Value;
-	setParameter("Tag3Value", tag3Value);
-}
-

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

@@ -0,0 +1,313 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DeleteLaunchTemplateRequest.h>
+
+using AlibabaCloud::Ecs::Model::DeleteLaunchTemplateRequest;
+
+DeleteLaunchTemplateRequest::DeleteLaunchTemplateRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DeleteLaunchTemplate")
+{}
+
+DeleteLaunchTemplateRequest::~DeleteLaunchTemplateRequest()
+{}
+
+std::string DeleteLaunchTemplateRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void DeleteLaunchTemplateRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
+long DeleteLaunchTemplateRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteLaunchTemplateRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DeleteLaunchTemplateRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DeleteLaunchTemplateRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DeleteLaunchTemplateRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DeleteLaunchTemplateRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DeleteLaunchTemplateRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DeleteLaunchTemplateRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DeleteLaunchTemplateRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DeleteLaunchTemplateRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DeleteLaunchTemplateRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DeleteLaunchTemplateRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DeleteLaunchTemplateRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteLaunchTemplateRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DeleteLaunchTemplateRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DeleteLaunchTemplateRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DeleteLaunchTemplateRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteLaunchTemplateRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DeleteLaunchTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DeleteLaunchTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool DeleteLaunchTemplateRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DeleteLaunchTemplateRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DeleteLaunchTemplateRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DeleteLaunchTemplateRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DeleteLaunchTemplateRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DeleteLaunchTemplateRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DeleteLaunchTemplateRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DeleteLaunchTemplateRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DeleteLaunchTemplateRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DeleteLaunchTemplateRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DeleteLaunchTemplateRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DeleteLaunchTemplateRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DeleteLaunchTemplateRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void DeleteLaunchTemplateRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setParameter("LaunchTemplateId", launchTemplateId);
+}
+
+std::string DeleteLaunchTemplateRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteLaunchTemplateRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DeleteLaunchTemplateRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteLaunchTemplateRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DeleteLaunchTemplateRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DeleteLaunchTemplateRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DeleteLaunchTemplateRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteLaunchTemplateRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool DeleteLaunchTemplateRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DeleteLaunchTemplateRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DeleteLaunchTemplateRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DeleteLaunchTemplateRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DeleteLaunchTemplateRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DeleteLaunchTemplateRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DeleteLaunchTemplateRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DeleteLaunchTemplateRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 5 - 5
ecs/src/model/AttachVolumeResult.cc → ecs/src/model/DeleteLaunchTemplateResult.cc

@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/AttachVolumeResult.h>
+#include <alibabacloud/ecs/model/DeleteLaunchTemplateResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-AttachVolumeResult::AttachVolumeResult() :
+DeleteLaunchTemplateResult::DeleteLaunchTemplateResult() :
 	ServiceResult()
 {}
 
-AttachVolumeResult::AttachVolumeResult(const std::string &payload) :
+DeleteLaunchTemplateResult::DeleteLaunchTemplateResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-AttachVolumeResult::~AttachVolumeResult()
+DeleteLaunchTemplateResult::~DeleteLaunchTemplateResult()
 {}
 
-void AttachVolumeResult::parse(const std::string &payload)
+void DeleteLaunchTemplateResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;

+ 325 - 0
ecs/src/model/DeleteLaunchTemplateVersionRequest.cc

@@ -0,0 +1,325 @@
+/*
+ * 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/DeleteLaunchTemplateVersionRequest.h>
+
+using AlibabaCloud::Ecs::Model::DeleteLaunchTemplateVersionRequest;
+
+DeleteLaunchTemplateVersionRequest::DeleteLaunchTemplateVersionRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DeleteLaunchTemplateVersion")
+{}
+
+DeleteLaunchTemplateVersionRequest::~DeleteLaunchTemplateVersionRequest()
+{}
+
+std::string DeleteLaunchTemplateVersionRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
+long DeleteLaunchTemplateVersionRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DeleteLaunchTemplateVersionRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DeleteLaunchTemplateVersionRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::vector<long> DeleteLaunchTemplateVersionRequest::getDeleteVersion()const
+{
+	return deleteVersion_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setDeleteVersion(const std::vector<long>& deleteVersion)
+{
+	deleteVersion_ = deleteVersion;
+	for(int i = 0; i!= deleteVersion.size(); i++)
+		setParameter("DeleteVersion."+ std::to_string(i), std::to_string(deleteVersion.at(i)));
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool DeleteLaunchTemplateVersionRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DeleteLaunchTemplateVersionRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setParameter("LaunchTemplateId", launchTemplateId);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DeleteLaunchTemplateVersionRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool DeleteLaunchTemplateVersionRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DeleteLaunchTemplateVersionRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DeleteLaunchTemplateVersionRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DeleteLaunchTemplateVersionRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DeleteLaunchTemplateVersionRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 5 - 5
ecs/src/model/DeleteVolumeResult.cc → ecs/src/model/DeleteLaunchTemplateVersionResult.cc

@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/DeleteVolumeResult.h>
+#include <alibabacloud/ecs/model/DeleteLaunchTemplateVersionResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-DeleteVolumeResult::DeleteVolumeResult() :
+DeleteLaunchTemplateVersionResult::DeleteLaunchTemplateVersionResult() :
 	ServiceResult()
 {}
 
-DeleteVolumeResult::DeleteVolumeResult(const std::string &payload) :
+DeleteLaunchTemplateVersionResult::DeleteLaunchTemplateVersionResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-DeleteVolumeResult::~DeleteVolumeResult()
+DeleteLaunchTemplateVersionResult::~DeleteLaunchTemplateVersionResult()
 {}
 
-void DeleteVolumeResult::parse(const std::string &payload)
+void DeleteLaunchTemplateVersionResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;

+ 0 - 93
ecs/src/model/DeleteVolumeRequest.cc

@@ -1,93 +0,0 @@
-/*
- * 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/DeleteVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::DeleteVolumeRequest;
-
-DeleteVolumeRequest::DeleteVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "DeleteVolume")
-{}
-
-DeleteVolumeRequest::~DeleteVolumeRequest()
-{}
-
-long DeleteVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void DeleteVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string DeleteVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void DeleteVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string DeleteVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void DeleteVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string DeleteVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void DeleteVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string DeleteVolumeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void DeleteVolumeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-long DeleteVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void DeleteVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

@@ -54,6 +54,8 @@ void DescribeDisksFullStatusResult::parse(const std::string &payload)
 				diskEventSetObject.eventId = value["EventId"].asString();
 			if(!value["EventTime"].isNull())
 				diskEventSetObject.eventTime = value["EventTime"].asString();
+			if(!value["EventEndTime"].isNull())
+				diskEventSetObject.eventEndTime = value["EventEndTime"].asString();
 			auto eventTypeNode = value["EventType"];
 			if(!eventTypeNode["Code"].isNull())
 				diskEventSetObject.eventType.code = std::stoi(eventTypeNode["Code"].asString());

+ 136 - 15
ecs/src/model/DescribeKeyPairsRequest.cc

@@ -25,6 +25,17 @@ DescribeKeyPairsRequest::DescribeKeyPairsRequest() :
 DescribeKeyPairsRequest::~DescribeKeyPairsRequest()
 {}
 
+std::string DescribeKeyPairsRequest::getTag4Value()const
+{
+	return tag4Value_;
+}
+
+void DescribeKeyPairsRequest::setTag4Value(const std::string& tag4Value)
+{
+	tag4Value_ = tag4Value;
+	setParameter("Tag4Value", tag4Value);
+}
+
 long DescribeKeyPairsRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;
@@ -36,26 +47,37 @@ void DescribeKeyPairsRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
-std::string DescribeKeyPairsRequest::getResourceOwnerAccount()const
+std::string DescribeKeyPairsRequest::getTag2Key()const
 {
-	return resourceOwnerAccount_;
+	return tag2Key_;
 }
 
-void DescribeKeyPairsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+void DescribeKeyPairsRequest::setTag2Key(const std::string& tag2Key)
 {
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+	tag2Key_ = tag2Key;
+	setParameter("Tag2Key", tag2Key);
 }
 
-std::string DescribeKeyPairsRequest::getRegionId()const
+std::string DescribeKeyPairsRequest::getTag5Key()const
 {
-	return regionId_;
+	return tag5Key_;
 }
 
-void DescribeKeyPairsRequest::setRegionId(const std::string& regionId)
+void DescribeKeyPairsRequest::setTag5Key(const std::string& tag5Key)
 {
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
+	tag5Key_ = tag5Key;
+	setParameter("Tag5Key", tag5Key);
+}
+
+std::string DescribeKeyPairsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeKeyPairsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
 }
 
 std::string DescribeKeyPairsRequest::getKeyPairFingerPrint()const
@@ -69,15 +91,15 @@ void DescribeKeyPairsRequest::setKeyPairFingerPrint(const std::string& keyPairFi
 	setParameter("KeyPairFingerPrint", keyPairFingerPrint);
 }
 
-int DescribeKeyPairsRequest::getPageSize()const
+std::string DescribeKeyPairsRequest::getTag3Key()const
 {
-	return pageSize_;
+	return tag3Key_;
 }
 
-void DescribeKeyPairsRequest::setPageSize(int pageSize)
+void DescribeKeyPairsRequest::setTag3Key(const std::string& tag3Key)
 {
-	pageSize_ = pageSize;
-	setParameter("PageSize", std::to_string(pageSize));
+	tag3Key_ = tag3Key;
+	setParameter("Tag3Key", tag3Key);
 }
 
 std::string DescribeKeyPairsRequest::getKeyPairName()const
@@ -102,6 +124,17 @@ void DescribeKeyPairsRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
+std::string DescribeKeyPairsRequest::getTag5Value()const
+{
+	return tag5Value_;
+}
+
+void DescribeKeyPairsRequest::setTag5Value(const std::string& tag5Value)
+{
+	tag5Value_ = tag5Value;
+	setParameter("Tag5Value", tag5Value);
+}
+
 int DescribeKeyPairsRequest::getPageNumber()const
 {
 	return pageNumber_;
@@ -113,3 +146,91 @@ void DescribeKeyPairsRequest::setPageNumber(int pageNumber)
 	setParameter("PageNumber", std::to_string(pageNumber));
 }
 
+std::string DescribeKeyPairsRequest::getTag1Key()const
+{
+	return tag1Key_;
+}
+
+void DescribeKeyPairsRequest::setTag1Key(const std::string& tag1Key)
+{
+	tag1Key_ = tag1Key;
+	setParameter("Tag1Key", tag1Key);
+}
+
+std::string DescribeKeyPairsRequest::getTag1Value()const
+{
+	return tag1Value_;
+}
+
+void DescribeKeyPairsRequest::setTag1Value(const std::string& tag1Value)
+{
+	tag1Value_ = tag1Value;
+	setParameter("Tag1Value", tag1Value);
+}
+
+std::string DescribeKeyPairsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeKeyPairsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeKeyPairsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeKeyPairsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeKeyPairsRequest::getTag2Value()const
+{
+	return tag2Value_;
+}
+
+void DescribeKeyPairsRequest::setTag2Value(const std::string& tag2Value)
+{
+	tag2Value_ = tag2Value;
+	setParameter("Tag2Value", tag2Value);
+}
+
+int DescribeKeyPairsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeKeyPairsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeKeyPairsRequest::getTag4Key()const
+{
+	return tag4Key_;
+}
+
+void DescribeKeyPairsRequest::setTag4Key(const std::string& tag4Key)
+{
+	tag4Key_ = tag4Key;
+	setParameter("Tag4Key", tag4Key);
+}
+
+std::string DescribeKeyPairsRequest::getTag3Value()const
+{
+	return tag3Value_;
+}
+
+void DescribeKeyPairsRequest::setTag3Value(const std::string& tag3Value)
+{
+	tag3Value_ = tag3Value;
+	setParameter("Tag3Value", tag3Value);
+}
+

+ 391 - 0
ecs/src/model/DescribeLaunchTemplateVersionsRequest.cc

@@ -0,0 +1,391 @@
+/*
+ * 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/DescribeLaunchTemplateVersionsRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeLaunchTemplateVersionsRequest;
+
+DescribeLaunchTemplateVersionsRequest::DescribeLaunchTemplateVersionsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeLaunchTemplateVersions")
+{}
+
+DescribeLaunchTemplateVersionsRequest::~DescribeLaunchTemplateVersionsRequest()
+{}
+
+std::string DescribeLaunchTemplateVersionsRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
+long DescribeLaunchTemplateVersionsRequest::getMaxVersion()const
+{
+	return maxVersion_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setMaxVersion(long maxVersion)
+{
+	maxVersion_ = maxVersion;
+	setParameter("MaxVersion", std::to_string(maxVersion));
+}
+
+long DescribeLaunchTemplateVersionsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeLaunchTemplateVersionsRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getDefaultVersion()const
+{
+	return defaultVersion_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setDefaultVersion(bool defaultVersion)
+{
+	defaultVersion_ = defaultVersion;
+	setParameter("DefaultVersion", std::to_string(defaultVersion));
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+long DescribeLaunchTemplateVersionsRequest::getMinVersion()const
+{
+	return minVersion_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setMinVersion(long minVersion)
+{
+	minVersion_ = minVersion;
+	setParameter("MinVersion", std::to_string(minVersion));
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+int DescribeLaunchTemplateVersionsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+int DescribeLaunchTemplateVersionsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeLaunchTemplateVersionsRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setParameter("LaunchTemplateId", launchTemplateId);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeLaunchTemplateVersionsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<long> DescribeLaunchTemplateVersionsRequest::getLaunchTemplateVersion()const
+{
+	return launchTemplateVersion_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setLaunchTemplateVersion(const std::vector<long>& launchTemplateVersion)
+{
+	launchTemplateVersion_ = launchTemplateVersion;
+	for(int i = 0; i!= launchTemplateVersion.size(); i++)
+		setParameter("LaunchTemplateVersion."+ std::to_string(i), std::to_string(launchTemplateVersion.at(i)));
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeLaunchTemplateVersionsRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+bool DescribeLaunchTemplateVersionsRequest::getDetailFlag()const
+{
+	return detailFlag_;
+}
+
+void DescribeLaunchTemplateVersionsRequest::setDetailFlag(bool detailFlag)
+{
+	detailFlag_ = detailFlag;
+	setParameter("DetailFlag", std::to_string(detailFlag));
+}
+

+ 204 - 0
ecs/src/model/DescribeLaunchTemplateVersionsResult.cc

@@ -0,0 +1,204 @@
+/*
+ * 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/DescribeLaunchTemplateVersionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeLaunchTemplateVersionsResult::DescribeLaunchTemplateVersionsResult() :
+	ServiceResult()
+{}
+
+DescribeLaunchTemplateVersionsResult::DescribeLaunchTemplateVersionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLaunchTemplateVersionsResult::~DescribeLaunchTemplateVersionsResult()
+{}
+
+void DescribeLaunchTemplateVersionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allLaunchTemplateVersionSets = value["LaunchTemplateVersionSets"]["LaunchTemplateVersionSet"];
+	for (auto value : allLaunchTemplateVersionSets)
+	{
+		LaunchTemplateVersionSet launchTemplateVersionSetsObject;
+		if(!value["CreateTime"].isNull())
+			launchTemplateVersionSetsObject.createTime = value["CreateTime"].asString();
+		if(!value["ModifiedTime"].isNull())
+			launchTemplateVersionSetsObject.modifiedTime = value["ModifiedTime"].asString();
+		if(!value["LaunchTemplateId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateId = value["LaunchTemplateId"].asString();
+		if(!value["LaunchTemplateName"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateName = value["LaunchTemplateName"].asString();
+		if(!value["DefaultVersion"].isNull())
+			launchTemplateVersionSetsObject.defaultVersion = value["DefaultVersion"].asString() == "true";
+		if(!value["VersionNumber"].isNull())
+			launchTemplateVersionSetsObject.versionNumber = std::stol(value["VersionNumber"].asString());
+		if(!value["VersionDescription"].isNull())
+			launchTemplateVersionSetsObject.versionDescription = value["VersionDescription"].asString();
+		if(!value["CreatedBy"].isNull())
+			launchTemplateVersionSetsObject.createdBy = value["CreatedBy"].asString();
+		auto launchTemplateDataNode = value["LaunchTemplateData"];
+		if(!launchTemplateDataNode["ImageId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.imageId = launchTemplateDataNode["ImageId"].asString();
+		if(!launchTemplateDataNode["ImageOwnerAlias"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.imageOwnerAlias = launchTemplateDataNode["ImageOwnerAlias"].asString();
+		if(!launchTemplateDataNode["InstanceType"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.instanceType = launchTemplateDataNode["InstanceType"].asString();
+		if(!launchTemplateDataNode["SecurityGroupId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.securityGroupId = launchTemplateDataNode["SecurityGroupId"].asString();
+		if(!launchTemplateDataNode["VpcId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.vpcId = launchTemplateDataNode["VpcId"].asString();
+		if(!launchTemplateDataNode["VSwitchId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.vSwitchId = launchTemplateDataNode["VSwitchId"].asString();
+		if(!launchTemplateDataNode["InstanceName"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.instanceName = launchTemplateDataNode["InstanceName"].asString();
+		if(!launchTemplateDataNode["Description"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.description = launchTemplateDataNode["Description"].asString();
+		if(!launchTemplateDataNode["InternetMaxBandwidthIn"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.internetMaxBandwidthIn = std::stoi(launchTemplateDataNode["InternetMaxBandwidthIn"].asString());
+		if(!launchTemplateDataNode["InternetMaxBandwidthOut"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.internetMaxBandwidthOut = std::stoi(launchTemplateDataNode["InternetMaxBandwidthOut"].asString());
+		if(!launchTemplateDataNode["HostName"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.hostName = launchTemplateDataNode["HostName"].asString();
+		if(!launchTemplateDataNode["ZoneId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.zoneId = launchTemplateDataNode["ZoneId"].asString();
+		if(!launchTemplateDataNode["SystemDisk.Size"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskSize = std::stoi(launchTemplateDataNode["SystemDisk.Size"].asString());
+		if(!launchTemplateDataNode["SystemDisk.Category"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskCategory = launchTemplateDataNode["SystemDisk.Category"].asString();
+		if(!launchTemplateDataNode["SystemDisk.DiskName"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskDiskName = launchTemplateDataNode["SystemDisk.DiskName"].asString();
+		if(!launchTemplateDataNode["SystemDisk.Description"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskDescription = launchTemplateDataNode["SystemDisk.Description"].asString();
+		if(!launchTemplateDataNode["SystemDisk.Iops"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskIops = std::stoi(launchTemplateDataNode["SystemDisk.Iops"].asString());
+		if(!launchTemplateDataNode["IoOptimized"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.ioOptimized = launchTemplateDataNode["IoOptimized"].asString();
+		if(!launchTemplateDataNode["InstanceChargeType"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.instanceChargeType = launchTemplateDataNode["InstanceChargeType"].asString();
+		if(!launchTemplateDataNode["Period"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.period = std::stoi(launchTemplateDataNode["Period"].asString());
+		if(!launchTemplateDataNode["InternetChargeType"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.internetChargeType = launchTemplateDataNode["InternetChargeType"].asString();
+		if(!launchTemplateDataNode["EnableVmOsConfig"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.enableVmOsConfig = launchTemplateDataNode["EnableVmOsConfig"].asString() == "true";
+		if(!launchTemplateDataNode["NetworkType"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.networkType = launchTemplateDataNode["NetworkType"].asString();
+		if(!launchTemplateDataNode["UserData"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.userData = launchTemplateDataNode["UserData"].asString();
+		if(!launchTemplateDataNode["KeyPairName"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.keyPairName = launchTemplateDataNode["KeyPairName"].asString();
+		if(!launchTemplateDataNode["RamRoleName"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.ramRoleName = launchTemplateDataNode["RamRoleName"].asString();
+		if(!launchTemplateDataNode["AutoReleaseTime"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.autoReleaseTime = launchTemplateDataNode["AutoReleaseTime"].asString();
+		if(!launchTemplateDataNode["SpotStrategy"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.spotStrategy = launchTemplateDataNode["SpotStrategy"].asString();
+		if(!launchTemplateDataNode["SpotPriceLimit"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.spotPriceLimit = std::stof(launchTemplateDataNode["SpotPriceLimit"].asString());
+		if(!launchTemplateDataNode["SpotDuration"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.spotDuration = std::stoi(launchTemplateDataNode["SpotDuration"].asString());
+		if(!launchTemplateDataNode["ResourceGroupId"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.resourceGroupId = launchTemplateDataNode["ResourceGroupId"].asString();
+		if(!launchTemplateDataNode["SecurityEnhancementStrategy"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.securityEnhancementStrategy = launchTemplateDataNode["SecurityEnhancementStrategy"].asString() == "true";
+		auto allDataDisks = value["DataDisks"]["DataDisk"];
+		for (auto value : allDataDisks)
+		{
+			LaunchTemplateVersionSet::LaunchTemplateData::DataDisk dataDiskObject;
+			if(!value["Size"].isNull())
+				dataDiskObject.size = std::stoi(value["Size"].asString());
+			if(!value["SnapshotId"].isNull())
+				dataDiskObject.snapshotId = value["SnapshotId"].asString();
+			if(!value["Category"].isNull())
+				dataDiskObject.category = value["Category"].asString();
+			if(!value["Encrypted"].isNull())
+				dataDiskObject.encrypted = value["Encrypted"].asString();
+			if(!value["DiskName"].isNull())
+				dataDiskObject.diskName = value["DiskName"].asString();
+			if(!value["Description"].isNull())
+				dataDiskObject.description = value["Description"].asString();
+			if(!value["DeleteWithInstance"].isNull())
+				dataDiskObject.deleteWithInstance = value["DeleteWithInstance"].asString() == "true";
+			launchTemplateVersionSetsObject.launchTemplateData.dataDisks.push_back(dataDiskObject);
+		}
+		auto allNetworkInterfaces = value["NetworkInterfaces"]["NetworkInterface"];
+		for (auto value : allNetworkInterfaces)
+		{
+			LaunchTemplateVersionSet::LaunchTemplateData::NetworkInterface networkInterfaceObject;
+			if(!value["PrimaryIpAddress"].isNull())
+				networkInterfaceObject.primaryIpAddress = value["PrimaryIpAddress"].asString();
+			if(!value["VSwitchId"].isNull())
+				networkInterfaceObject.vSwitchId = value["VSwitchId"].asString();
+			if(!value["SecurityGroupId"].isNull())
+				networkInterfaceObject.securityGroupId = value["SecurityGroupId"].asString();
+			if(!value["NetworkInterfaceName"].isNull())
+				networkInterfaceObject.networkInterfaceName = value["NetworkInterfaceName"].asString();
+			if(!value["Description"].isNull())
+				networkInterfaceObject.description = value["Description"].asString();
+			launchTemplateVersionSetsObject.launchTemplateData.networkInterfaces.push_back(networkInterfaceObject);
+		}
+		auto allTags = value["Tags"]["InstanceTag"];
+		for (auto value : allTags)
+		{
+			LaunchTemplateVersionSet::LaunchTemplateData::InstanceTag instanceTagObject;
+			if(!value["Key"].isNull())
+				instanceTagObject.key = value["Key"].asString();
+			if(!value["Value"].isNull())
+				instanceTagObject.value = value["Value"].asString();
+			launchTemplateVersionSetsObject.launchTemplateData.tags.push_back(instanceTagObject);
+		}
+		launchTemplateVersionSets_.push_back(launchTemplateVersionSetsObject);
+	}
+	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 DescribeLaunchTemplateVersionsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeLaunchTemplateVersionsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeLaunchTemplateVersionsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeLaunchTemplateVersionsResult::LaunchTemplateVersionSet> DescribeLaunchTemplateVersionsResult::getLaunchTemplateVersionSets()const
+{
+	return launchTemplateVersionSets_;
+}
+

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

@@ -0,0 +1,337 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DescribeLaunchTemplatesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeLaunchTemplatesRequest;
+
+DescribeLaunchTemplatesRequest::DescribeLaunchTemplatesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeLaunchTemplates")
+{}
+
+DescribeLaunchTemplatesRequest::~DescribeLaunchTemplatesRequest()
+{}
+
+std::vector<std::string> DescribeLaunchTemplatesRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void DescribeLaunchTemplatesRequest::setLaunchTemplateName(const std::vector<std::string>& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	for(int i = 0; i!= launchTemplateName.size(); i++)
+		setParameter("LaunchTemplateName."+ std::to_string(i), launchTemplateName.at(i));
+}
+
+long DescribeLaunchTemplatesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeLaunchTemplatesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeLaunchTemplatesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeLaunchTemplatesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeLaunchTemplatesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeLaunchTemplatesRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeLaunchTemplatesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeLaunchTemplatesRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeLaunchTemplatesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeLaunchTemplatesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeLaunchTemplatesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeLaunchTemplatesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+int DescribeLaunchTemplatesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeLaunchTemplatesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeLaunchTemplatesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLaunchTemplatesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeLaunchTemplatesRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeLaunchTemplatesRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeLaunchTemplatesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLaunchTemplatesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeLaunchTemplatesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeLaunchTemplatesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool DescribeLaunchTemplatesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeLaunchTemplatesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DescribeLaunchTemplatesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeLaunchTemplatesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+int DescribeLaunchTemplatesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeLaunchTemplatesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeLaunchTemplatesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeLaunchTemplatesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeLaunchTemplatesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeLaunchTemplatesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeLaunchTemplatesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeLaunchTemplatesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeLaunchTemplatesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeLaunchTemplatesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::vector<std::string> DescribeLaunchTemplatesRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void DescribeLaunchTemplatesRequest::setLaunchTemplateId(const std::vector<std::string>& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	for(int i = 0; i!= launchTemplateId.size(); i++)
+		setParameter("LaunchTemplateId."+ std::to_string(i), launchTemplateId.at(i));
+}
+
+std::string DescribeLaunchTemplatesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeLaunchTemplatesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeLaunchTemplatesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeLaunchTemplatesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeLaunchTemplatesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeLaunchTemplatesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeLaunchTemplatesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLaunchTemplatesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool DescribeLaunchTemplatesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeLaunchTemplatesRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeLaunchTemplatesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeLaunchTemplatesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeLaunchTemplatesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeLaunchTemplatesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeLaunchTemplatesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeLaunchTemplatesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 91 - 0
ecs/src/model/DescribeLaunchTemplatesResult.cc

@@ -0,0 +1,91 @@
+/*
+ * 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/DescribeLaunchTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeLaunchTemplatesResult::DescribeLaunchTemplatesResult() :
+	ServiceResult()
+{}
+
+DescribeLaunchTemplatesResult::DescribeLaunchTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLaunchTemplatesResult::~DescribeLaunchTemplatesResult()
+{}
+
+void DescribeLaunchTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allLaunchTemplateSets = value["LaunchTemplateSets"]["LaunchTemplateSet"];
+	for (auto value : allLaunchTemplateSets)
+	{
+		LaunchTemplateSet launchTemplateSetsObject;
+		if(!value["CreateTime"].isNull())
+			launchTemplateSetsObject.createTime = value["CreateTime"].asString();
+		if(!value["ModifiedTime"].isNull())
+			launchTemplateSetsObject.modifiedTime = value["ModifiedTime"].asString();
+		if(!value["LaunchTemplateId"].isNull())
+			launchTemplateSetsObject.launchTemplateId = value["LaunchTemplateId"].asString();
+		if(!value["LaunchTemplateName"].isNull())
+			launchTemplateSetsObject.launchTemplateName = value["LaunchTemplateName"].asString();
+		if(!value["DefaultVersionNumber"].isNull())
+			launchTemplateSetsObject.defaultVersionNumber = std::stol(value["DefaultVersionNumber"].asString());
+		if(!value["LatestVersionNumber"].isNull())
+			launchTemplateSetsObject.latestVersionNumber = std::stol(value["LatestVersionNumber"].asString());
+		if(!value["CreatedBy"].isNull())
+			launchTemplateSetsObject.createdBy = value["CreatedBy"].asString();
+		launchTemplateSets_.push_back(launchTemplateSetsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<DescribeLaunchTemplatesResult::LaunchTemplateSet> DescribeLaunchTemplatesResult::getLaunchTemplateSets()const
+{
+	return launchTemplateSets_;
+}
+
+int DescribeLaunchTemplatesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeLaunchTemplatesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeLaunchTemplatesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

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

@@ -146,6 +146,17 @@ void DescribeSecurityGroupsRequest::setTag1Value(const std::string& tag1Value)
 	setParameter("Tag1Value", tag1Value);
 }
 
+std::string DescribeSecurityGroupsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeSecurityGroupsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string DescribeSecurityGroupsRequest::getRegionId()const
 {
 	return regionId_;

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

@@ -1,313 +0,0 @@
-/*
- * 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/DescribeVolumesRequest.h>
-
-using AlibabaCloud::Ecs::Model::DescribeVolumesRequest;
-
-DescribeVolumesRequest::DescribeVolumesRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "DescribeVolumes")
-{}
-
-DescribeVolumesRequest::~DescribeVolumesRequest()
-{}
-
-std::string DescribeVolumesRequest::getTag4Value()const
-{
-	return tag4Value_;
-}
-
-void DescribeVolumesRequest::setTag4Value(const std::string& tag4Value)
-{
-	tag4Value_ = tag4Value;
-	setParameter("Tag4Value", tag4Value);
-}
-
-long DescribeVolumesRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void DescribeVolumesRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string DescribeVolumesRequest::getSnapshotId()const
-{
-	return snapshotId_;
-}
-
-void DescribeVolumesRequest::setSnapshotId(const std::string& snapshotId)
-{
-	snapshotId_ = snapshotId;
-	setParameter("SnapshotId", snapshotId);
-}
-
-std::string DescribeVolumesRequest::getTag2Key()const
-{
-	return tag2Key_;
-}
-
-void DescribeVolumesRequest::setTag2Key(const std::string& tag2Key)
-{
-	tag2Key_ = tag2Key;
-	setParameter("Tag2Key", tag2Key);
-}
-
-std::string DescribeVolumesRequest::getAutoSnapshotPolicyId()const
-{
-	return autoSnapshotPolicyId_;
-}
-
-void DescribeVolumesRequest::setAutoSnapshotPolicyId(const std::string& autoSnapshotPolicyId)
-{
-	autoSnapshotPolicyId_ = autoSnapshotPolicyId;
-	setParameter("AutoSnapshotPolicyId", autoSnapshotPolicyId);
-}
-
-std::string DescribeVolumesRequest::getTag3Key()const
-{
-	return tag3Key_;
-}
-
-void DescribeVolumesRequest::setTag3Key(const std::string& tag3Key)
-{
-	tag3Key_ = tag3Key;
-	setParameter("Tag3Key", tag3Key);
-}
-
-int DescribeVolumesRequest::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-void DescribeVolumesRequest::setPageNumber(int pageNumber)
-{
-	pageNumber_ = pageNumber;
-	setParameter("PageNumber", std::to_string(pageNumber));
-}
-
-std::string DescribeVolumesRequest::getTag1Value()const
-{
-	return tag1Value_;
-}
-
-void DescribeVolumesRequest::setTag1Value(const std::string& tag1Value)
-{
-	tag1Value_ = tag1Value;
-	setParameter("Tag1Value", tag1Value);
-}
-
-std::string DescribeVolumesRequest::getLockReason()const
-{
-	return lockReason_;
-}
-
-void DescribeVolumesRequest::setLockReason(const std::string& lockReason)
-{
-	lockReason_ = lockReason;
-	setParameter("LockReason", lockReason);
-}
-
-std::string DescribeVolumesRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void DescribeVolumesRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-int DescribeVolumesRequest::getPageSize()const
-{
-	return pageSize_;
-}
-
-void DescribeVolumesRequest::setPageSize(int pageSize)
-{
-	pageSize_ = pageSize;
-	setParameter("PageSize", std::to_string(pageSize));
-}
-
-std::string DescribeVolumesRequest::getTag3Value()const
-{
-	return tag3Value_;
-}
-
-void DescribeVolumesRequest::setTag3Value(const std::string& tag3Value)
-{
-	tag3Value_ = tag3Value;
-	setParameter("Tag3Value", tag3Value);
-}
-
-std::string DescribeVolumesRequest::getTag5Key()const
-{
-	return tag5Key_;
-}
-
-void DescribeVolumesRequest::setTag5Key(const std::string& tag5Key)
-{
-	tag5Key_ = tag5Key;
-	setParameter("Tag5Key", tag5Key);
-}
-
-std::string DescribeVolumesRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void DescribeVolumesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string DescribeVolumesRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void DescribeVolumesRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-bool DescribeVolumesRequest::getEnableAutomatedSnapshotPolicy()const
-{
-	return enableAutomatedSnapshotPolicy_;
-}
-
-void DescribeVolumesRequest::setEnableAutomatedSnapshotPolicy(bool enableAutomatedSnapshotPolicy)
-{
-	enableAutomatedSnapshotPolicy_ = enableAutomatedSnapshotPolicy;
-	setParameter("EnableAutomatedSnapshotPolicy", std::to_string(enableAutomatedSnapshotPolicy));
-}
-
-long DescribeVolumesRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void DescribeVolumesRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-
-std::string DescribeVolumesRequest::getTag5Value()const
-{
-	return tag5Value_;
-}
-
-void DescribeVolumesRequest::setTag5Value(const std::string& tag5Value)
-{
-	tag5Value_ = tag5Value;
-	setParameter("Tag5Value", tag5Value);
-}
-
-std::string DescribeVolumesRequest::getTag1Key()const
-{
-	return tag1Key_;
-}
-
-void DescribeVolumesRequest::setTag1Key(const std::string& tag1Key)
-{
-	tag1Key_ = tag1Key;
-	setParameter("Tag1Key", tag1Key);
-}
-
-std::string DescribeVolumesRequest::getInstanceId()const
-{
-	return instanceId_;
-}
-
-void DescribeVolumesRequest::setInstanceId(const std::string& instanceId)
-{
-	instanceId_ = instanceId;
-	setParameter("InstanceId", instanceId);
-}
-
-std::string DescribeVolumesRequest::getTag2Value()const
-{
-	return tag2Value_;
-}
-
-void DescribeVolumesRequest::setTag2Value(const std::string& tag2Value)
-{
-	tag2Value_ = tag2Value;
-	setParameter("Tag2Value", tag2Value);
-}
-
-std::string DescribeVolumesRequest::getZoneId()const
-{
-	return zoneId_;
-}
-
-void DescribeVolumesRequest::setZoneId(const std::string& zoneId)
-{
-	zoneId_ = zoneId;
-	setParameter("ZoneId", zoneId);
-}
-
-std::string DescribeVolumesRequest::getTag4Key()const
-{
-	return tag4Key_;
-}
-
-void DescribeVolumesRequest::setTag4Key(const std::string& tag4Key)
-{
-	tag4Key_ = tag4Key;
-	setParameter("Tag4Key", tag4Key);
-}
-
-std::string DescribeVolumesRequest::getVolumeIds()const
-{
-	return volumeIds_;
-}
-
-void DescribeVolumesRequest::setVolumeIds(const std::string& volumeIds)
-{
-	volumeIds_ = volumeIds;
-	setParameter("VolumeIds", volumeIds);
-}
-
-std::string DescribeVolumesRequest::getCategory()const
-{
-	return category_;
-}
-
-void DescribeVolumesRequest::setCategory(const std::string& category)
-{
-	category_ = category;
-	setParameter("Category", category);
-}
-
-std::string DescribeVolumesRequest::getStatus()const
-{
-	return status_;
-}
-
-void DescribeVolumesRequest::setStatus(const std::string& status)
-{
-	status_ = status;
-	setParameter("Status", status);
-}
-

+ 0 - 139
ecs/src/model/DescribeVolumesResult.cc

@@ -1,139 +0,0 @@
-/*
- * 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/DescribeVolumesResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::Ecs;
-using namespace AlibabaCloud::Ecs::Model;
-
-DescribeVolumesResult::DescribeVolumesResult() :
-	ServiceResult()
-{}
-
-DescribeVolumesResult::DescribeVolumesResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-DescribeVolumesResult::~DescribeVolumesResult()
-{}
-
-void DescribeVolumesResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-
-	setRequestId(value["RequestId"].asString());
-	auto allVolumes = value["Volumes"]["Volume"];
-	for (auto value : allVolumes)
-	{
-		Volume volumesObject;
-		if(!value["VolumeId"].isNull())
-			volumesObject.volumeId = value["VolumeId"].asString();
-		if(!value["RegionId"].isNull())
-			volumesObject.regionId = value["RegionId"].asString();
-		if(!value["ZoneId"].isNull())
-			volumesObject.zoneId = value["ZoneId"].asString();
-		if(!value["VolumeName"].isNull())
-			volumesObject.volumeName = value["VolumeName"].asString();
-		if(!value["Description"].isNull())
-			volumesObject.description = value["Description"].asString();
-		if(!value["Category"].isNull())
-			volumesObject.category = value["Category"].asString();
-		if(!value["Size"].isNull())
-			volumesObject.size = std::stoi(value["Size"].asString());
-		if(!value["SourceSnapshotId"].isNull())
-			volumesObject.sourceSnapshotId = value["SourceSnapshotId"].asString();
-		if(!value["AutoSnapshotPolicyId"].isNull())
-			volumesObject.autoSnapshotPolicyId = value["AutoSnapshotPolicyId"].asString();
-		if(!value["SnapshotLinkId"].isNull())
-			volumesObject.snapshotLinkId = value["SnapshotLinkId"].asString();
-		if(!value["Status"].isNull())
-			volumesObject.status = value["Status"].asString();
-		if(!value["EnableAutomatedSnapshotPolicy"].isNull())
-			volumesObject.enableAutomatedSnapshotPolicy = value["EnableAutomatedSnapshotPolicy"].asString() == "true";
-		if(!value["CreationTime"].isNull())
-			volumesObject.creationTime = value["CreationTime"].asString();
-		if(!value["VolumeChargeType"].isNull())
-			volumesObject.volumeChargeType = value["VolumeChargeType"].asString();
-		if(!value["MountInstanceNum"].isNull())
-			volumesObject.mountInstanceNum = std::stoi(value["MountInstanceNum"].asString());
-		if(!value["Encrypted"].isNull())
-			volumesObject.encrypted = value["Encrypted"].asString() == "true";
-		auto allOperationLocks = value["OperationLocks"]["OperationLock"];
-		for (auto value : allOperationLocks)
-		{
-			Volume::OperationLock operationLocksObject;
-			if(!value["LockReason"].isNull())
-				operationLocksObject.lockReason = value["LockReason"].asString();
-			volumesObject.operationLocks.push_back(operationLocksObject);
-		}
-		auto allMountInstances = value["MountInstances"]["MountInstance"];
-		for (auto value : allMountInstances)
-		{
-			Volume::MountInstance mountInstancesObject;
-			if(!value["InstanceId"].isNull())
-				mountInstancesObject.instanceId = value["InstanceId"].asString();
-			if(!value["Device"].isNull())
-				mountInstancesObject.device = value["Device"].asString();
-			if(!value["AttachedTime"].isNull())
-				mountInstancesObject.attachedTime = value["AttachedTime"].asString();
-			volumesObject.mountInstances.push_back(mountInstancesObject);
-		}
-		auto allTags = value["Tags"]["Tag"];
-		for (auto value : allTags)
-		{
-			Volume::Tag tagsObject;
-			if(!value["TagKey"].isNull())
-				tagsObject.tagKey = value["TagKey"].asString();
-			if(!value["TagValue"].isNull())
-				tagsObject.tagValue = value["TagValue"].asString();
-			volumesObject.tags.push_back(tagsObject);
-		}
-		volumes_.push_back(volumesObject);
-	}
-	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 DescribeVolumesResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-std::vector<DescribeVolumesResult::Volume> DescribeVolumesResult::getVolumes()const
-{
-	return volumes_;
-}
-
-int DescribeVolumesResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int DescribeVolumesResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-

+ 0 - 104
ecs/src/model/DetachVolumeRequest.cc

@@ -1,104 +0,0 @@
-/*
- * 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/DetachVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::DetachVolumeRequest;
-
-DetachVolumeRequest::DetachVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "DetachVolume")
-{}
-
-DetachVolumeRequest::~DetachVolumeRequest()
-{}
-
-long DetachVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void DetachVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string DetachVolumeRequest::getInstanceId()const
-{
-	return instanceId_;
-}
-
-void DetachVolumeRequest::setInstanceId(const std::string& instanceId)
-{
-	instanceId_ = instanceId;
-	setParameter("InstanceId", instanceId);
-}
-
-std::string DetachVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void DetachVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string DetachVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void DetachVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string DetachVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void DetachVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string DetachVolumeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void DetachVolumeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-long DetachVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void DetachVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

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

+ 324 - 0
ecs/src/model/ModifyLaunchTemplateDefaultVersionRequest.cc

@@ -0,0 +1,324 @@
+/*
+ * 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/ModifyLaunchTemplateDefaultVersionRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyLaunchTemplateDefaultVersionRequest;
+
+ModifyLaunchTemplateDefaultVersionRequest::ModifyLaunchTemplateDefaultVersionRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyLaunchTemplateDefaultVersion")
+{}
+
+ModifyLaunchTemplateDefaultVersionRequest::~ModifyLaunchTemplateDefaultVersionRequest()
+{}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
+long ModifyLaunchTemplateDefaultVersionRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ModifyLaunchTemplateDefaultVersionRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ModifyLaunchTemplateDefaultVersionRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool ModifyLaunchTemplateDefaultVersionRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ModifyLaunchTemplateDefaultVersionRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setParameter("LaunchTemplateId", launchTemplateId);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long ModifyLaunchTemplateDefaultVersionRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ModifyLaunchTemplateDefaultVersionRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool ModifyLaunchTemplateDefaultVersionRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool ModifyLaunchTemplateDefaultVersionRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+long ModifyLaunchTemplateDefaultVersionRequest::getDefaultVersionNumber()const
+{
+	return defaultVersionNumber_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setDefaultVersionNumber(long defaultVersionNumber)
+{
+	defaultVersionNumber_ = defaultVersionNumber;
+	setParameter("DefaultVersionNumber", std::to_string(defaultVersionNumber));
+}
+
+std::string ModifyLaunchTemplateDefaultVersionRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ModifyLaunchTemplateDefaultVersionRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 5 - 12
ecs/src/model/CancelUserEventResult.cc → ecs/src/model/ModifyLaunchTemplateDefaultVersionResult.cc

@@ -14,39 +14,32 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/CancelUserEventResult.h>
+#include <alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-CancelUserEventResult::CancelUserEventResult() :
+ModifyLaunchTemplateDefaultVersionResult::ModifyLaunchTemplateDefaultVersionResult() :
 	ServiceResult()
 {}
 
-CancelUserEventResult::CancelUserEventResult(const std::string &payload) :
+ModifyLaunchTemplateDefaultVersionResult::ModifyLaunchTemplateDefaultVersionResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-CancelUserEventResult::~CancelUserEventResult()
+ModifyLaunchTemplateDefaultVersionResult::~ModifyLaunchTemplateDefaultVersionResult()
 {}
 
-void CancelUserEventResult::parse(const std::string &payload)
+void ModifyLaunchTemplateDefaultVersionResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	if(!value["EventId"].isNull())
-		eventId_ = value["EventId"].asString();
 
 }
 
-std::string CancelUserEventResult::getEventId()const
-{
-	return eventId_;
-}
-

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

@@ -1,313 +0,0 @@
-/*
- * 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/ModifyUserEventAttributeRequest.h>
-
-using AlibabaCloud::Ecs::Model::ModifyUserEventAttributeRequest;
-
-ModifyUserEventAttributeRequest::ModifyUserEventAttributeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "ModifyUserEventAttribute")
-{}
-
-ModifyUserEventAttributeRequest::~ModifyUserEventAttributeRequest()
-{}
-
-std::string ModifyUserEventAttributeRequest::getEventId()const
-{
-	return eventId_;
-}
-
-void ModifyUserEventAttributeRequest::setEventId(const std::string& eventId)
-{
-	eventId_ = eventId;
-	setParameter("EventId", eventId);
-}
-
-long ModifyUserEventAttributeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void ModifyUserEventAttributeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-long ModifyUserEventAttributeRequest::getCallerParentId()const
-{
-	return callerParentId_;
-}
-
-void ModifyUserEventAttributeRequest::setCallerParentId(long callerParentId)
-{
-	callerParentId_ = callerParentId;
-	setParameter("CallerParentId", std::to_string(callerParentId));
-}
-
-bool ModifyUserEventAttributeRequest::getProxy_original_security_transport()const
-{
-	return proxy_original_security_transport_;
-}
-
-void ModifyUserEventAttributeRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
-{
-	proxy_original_security_transport_ = proxy_original_security_transport;
-	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
-}
-
-std::string ModifyUserEventAttributeRequest::getProxy_original_source_ip()const
-{
-	return proxy_original_source_ip_;
-}
-
-void ModifyUserEventAttributeRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
-{
-	proxy_original_source_ip_ = proxy_original_source_ip;
-	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
-}
-
-std::string ModifyUserEventAttributeRequest::getOwnerIdLoginEmail()const
-{
-	return ownerIdLoginEmail_;
-}
-
-void ModifyUserEventAttributeRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
-{
-	ownerIdLoginEmail_ = ownerIdLoginEmail;
-	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
-}
-
-std::string ModifyUserEventAttributeRequest::getCallerType()const
-{
-	return callerType_;
-}
-
-void ModifyUserEventAttributeRequest::setCallerType(const std::string& callerType)
-{
-	callerType_ = callerType;
-	setParameter("CallerType", callerType);
-}
-
-std::string ModifyUserEventAttributeRequest::getAccessKeyId()const
-{
-	return accessKeyId_;
-}
-
-void ModifyUserEventAttributeRequest::setAccessKeyId(const std::string& accessKeyId)
-{
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
-}
-
-std::string ModifyUserEventAttributeRequest::getSecurityToken()const
-{
-	return securityToken_;
-}
-
-void ModifyUserEventAttributeRequest::setSecurityToken(const std::string& securityToken)
-{
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
-}
-
-std::string ModifyUserEventAttributeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void ModifyUserEventAttributeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-bool ModifyUserEventAttributeRequest::getEnable()const
-{
-	return enable_;
-}
-
-void ModifyUserEventAttributeRequest::setEnable(bool enable)
-{
-	enable_ = enable;
-	setParameter("Enable", std::to_string(enable));
-}
-
-std::string ModifyUserEventAttributeRequest::getRequestContent()const
-{
-	return requestContent_;
-}
-
-void ModifyUserEventAttributeRequest::setRequestContent(const std::string& requestContent)
-{
-	requestContent_ = requestContent;
-	setParameter("RequestContent", requestContent);
-}
-
-std::string ModifyUserEventAttributeRequest::getCallerBidEmail()const
-{
-	return callerBidEmail_;
-}
-
-void ModifyUserEventAttributeRequest::setCallerBidEmail(const std::string& callerBidEmail)
-{
-	callerBidEmail_ = callerBidEmail;
-	setParameter("CallerBidEmail", callerBidEmail);
-}
-
-std::string ModifyUserEventAttributeRequest::getCallerUidEmail()const
-{
-	return callerUidEmail_;
-}
-
-void ModifyUserEventAttributeRequest::setCallerUidEmail(const std::string& callerUidEmail)
-{
-	callerUidEmail_ = callerUidEmail;
-	setParameter("CallerUidEmail", callerUidEmail);
-}
-
-long ModifyUserEventAttributeRequest::getCallerUid()const
-{
-	return callerUid_;
-}
-
-void ModifyUserEventAttributeRequest::setCallerUid(long callerUid)
-{
-	callerUid_ = callerUid;
-	setParameter("CallerUid", std::to_string(callerUid));
-}
-
-std::string ModifyUserEventAttributeRequest::getApp_ip()const
-{
-	return app_ip_;
-}
-
-void ModifyUserEventAttributeRequest::setApp_ip(const std::string& app_ip)
-{
-	app_ip_ = app_ip;
-	setParameter("App_ip", app_ip);
-}
-
-std::string ModifyUserEventAttributeRequest::getResourceId()const
-{
-	return resourceId_;
-}
-
-void ModifyUserEventAttributeRequest::setResourceId(const std::string& resourceId)
-{
-	resourceId_ = resourceId;
-	setParameter("ResourceId", resourceId);
-}
-
-std::string ModifyUserEventAttributeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void ModifyUserEventAttributeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string ModifyUserEventAttributeRequest::getCallerBid()const
-{
-	return callerBid_;
-}
-
-void ModifyUserEventAttributeRequest::setCallerBid(const std::string& callerBid)
-{
-	callerBid_ = callerBid;
-	setParameter("CallerBid", callerBid);
-}
-
-std::string ModifyUserEventAttributeRequest::getNewPlanTime()const
-{
-	return newPlanTime_;
-}
-
-void ModifyUserEventAttributeRequest::setNewPlanTime(const std::string& newPlanTime)
-{
-	newPlanTime_ = newPlanTime;
-	setParameter("NewPlanTime", newPlanTime);
-}
-
-long ModifyUserEventAttributeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void ModifyUserEventAttributeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-
-bool ModifyUserEventAttributeRequest::getProxy_trust_transport_info()const
-{
-	return proxy_trust_transport_info_;
-}
-
-void ModifyUserEventAttributeRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
-{
-	proxy_trust_transport_info_ = proxy_trust_transport_info;
-	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
-}
-
-bool ModifyUserEventAttributeRequest::getAk_mfa_present()const
-{
-	return ak_mfa_present_;
-}
-
-void ModifyUserEventAttributeRequest::setAk_mfa_present(bool ak_mfa_present)
-{
-	ak_mfa_present_ = ak_mfa_present;
-	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
-}
-
-bool ModifyUserEventAttributeRequest::getSecurity_transport()const
-{
-	return security_transport_;
-}
-
-void ModifyUserEventAttributeRequest::setSecurity_transport(bool security_transport)
-{
-	security_transport_ = security_transport;
-	setParameter("Security_transport", std::to_string(security_transport));
-}
-
-std::string ModifyUserEventAttributeRequest::getNewExpireTime()const
-{
-	return newExpireTime_;
-}
-
-void ModifyUserEventAttributeRequest::setNewExpireTime(const std::string& newExpireTime)
-{
-	newExpireTime_ = newExpireTime;
-	setParameter("NewExpireTime", newExpireTime);
-}
-
-std::string ModifyUserEventAttributeRequest::getRequestId()const
-{
-	return requestId_;
-}
-
-void ModifyUserEventAttributeRequest::setRequestId(const std::string& requestId)
-{
-	requestId_ = requestId;
-	setParameter("RequestId", requestId);
-}
-

+ 0 - 115
ecs/src/model/ModifyVolumeAttributeRequest.cc

@@ -1,115 +0,0 @@
-/*
- * 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/ModifyVolumeAttributeRequest.h>
-
-using AlibabaCloud::Ecs::Model::ModifyVolumeAttributeRequest;
-
-ModifyVolumeAttributeRequest::ModifyVolumeAttributeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "ModifyVolumeAttribute")
-{}
-
-ModifyVolumeAttributeRequest::~ModifyVolumeAttributeRequest()
-{}
-
-long ModifyVolumeAttributeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void ModifyVolumeAttributeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string ModifyVolumeAttributeRequest::getVolumeName()const
-{
-	return volumeName_;
-}
-
-void ModifyVolumeAttributeRequest::setVolumeName(const std::string& volumeName)
-{
-	volumeName_ = volumeName;
-	setParameter("VolumeName", volumeName);
-}
-
-std::string ModifyVolumeAttributeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void ModifyVolumeAttributeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string ModifyVolumeAttributeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void ModifyVolumeAttributeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string ModifyVolumeAttributeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void ModifyVolumeAttributeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string ModifyVolumeAttributeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void ModifyVolumeAttributeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-std::string ModifyVolumeAttributeRequest::getDescription()const
-{
-	return description_;
-}
-
-void ModifyVolumeAttributeRequest::setDescription(const std::string& description)
-{
-	description_ = description;
-	setParameter("Description", description);
-}
-
-long ModifyVolumeAttributeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void ModifyVolumeAttributeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

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

+ 0 - 104
ecs/src/model/ReInitVolumeRequest.cc

@@ -1,104 +0,0 @@
-/*
- * 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/ReInitVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::ReInitVolumeRequest;
-
-ReInitVolumeRequest::ReInitVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "ReInitVolume")
-{}
-
-ReInitVolumeRequest::~ReInitVolumeRequest()
-{}
-
-long ReInitVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void ReInitVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string ReInitVolumeRequest::getPassword()const
-{
-	return password_;
-}
-
-void ReInitVolumeRequest::setPassword(const std::string& password)
-{
-	password_ = password;
-	setParameter("Password", password);
-}
-
-std::string ReInitVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void ReInitVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string ReInitVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void ReInitVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string ReInitVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void ReInitVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string ReInitVolumeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void ReInitVolumeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-long ReInitVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void ReInitVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

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

+ 0 - 115
ecs/src/model/ResizeVolumeRequest.cc

@@ -1,115 +0,0 @@
-/*
- * 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/ResizeVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::ResizeVolumeRequest;
-
-ResizeVolumeRequest::ResizeVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "ResizeVolume")
-{}
-
-ResizeVolumeRequest::~ResizeVolumeRequest()
-{}
-
-long ResizeVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void ResizeVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string ResizeVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void ResizeVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string ResizeVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void ResizeVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string ResizeVolumeRequest::getClientToken()const
-{
-	return clientToken_;
-}
-
-void ResizeVolumeRequest::setClientToken(const std::string& clientToken)
-{
-	clientToken_ = clientToken;
-	setParameter("ClientToken", clientToken);
-}
-
-std::string ResizeVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void ResizeVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string ResizeVolumeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void ResizeVolumeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-int ResizeVolumeRequest::getNewSize()const
-{
-	return newSize_;
-}
-
-void ResizeVolumeRequest::setNewSize(int newSize)
-{
-	newSize_ = newSize;
-	setParameter("NewSize", std::to_string(newSize));
-}
-
-long ResizeVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void ResizeVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

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

+ 0 - 104
ecs/src/model/RollbackVolumeRequest.cc

@@ -1,104 +0,0 @@
-/*
- * 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/RollbackVolumeRequest.h>
-
-using AlibabaCloud::Ecs::Model::RollbackVolumeRequest;
-
-RollbackVolumeRequest::RollbackVolumeRequest() :
-	RpcServiceRequest("ecs", "2014-05-26", "RollbackVolume")
-{}
-
-RollbackVolumeRequest::~RollbackVolumeRequest()
-{}
-
-long RollbackVolumeRequest::getResourceOwnerId()const
-{
-	return resourceOwnerId_;
-}
-
-void RollbackVolumeRequest::setResourceOwnerId(long resourceOwnerId)
-{
-	resourceOwnerId_ = resourceOwnerId;
-	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
-}
-
-std::string RollbackVolumeRequest::getSnapshotId()const
-{
-	return snapshotId_;
-}
-
-void RollbackVolumeRequest::setSnapshotId(const std::string& snapshotId)
-{
-	snapshotId_ = snapshotId;
-	setParameter("SnapshotId", snapshotId);
-}
-
-std::string RollbackVolumeRequest::getResourceOwnerAccount()const
-{
-	return resourceOwnerAccount_;
-}
-
-void RollbackVolumeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
-{
-	resourceOwnerAccount_ = resourceOwnerAccount;
-	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
-}
-
-std::string RollbackVolumeRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void RollbackVolumeRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string RollbackVolumeRequest::getOwnerAccount()const
-{
-	return ownerAccount_;
-}
-
-void RollbackVolumeRequest::setOwnerAccount(const std::string& ownerAccount)
-{
-	ownerAccount_ = ownerAccount;
-	setParameter("OwnerAccount", ownerAccount);
-}
-
-std::string RollbackVolumeRequest::getVolumeId()const
-{
-	return volumeId_;
-}
-
-void RollbackVolumeRequest::setVolumeId(const std::string& volumeId)
-{
-	volumeId_ = volumeId;
-	setParameter("VolumeId", volumeId);
-}
-
-long RollbackVolumeRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void RollbackVolumeRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

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

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

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

@@ -25,6 +25,17 @@ RunInstancesRequest::RunInstancesRequest() :
 RunInstancesRequest::~RunInstancesRequest()
 {}
 
+std::string RunInstancesRequest::getLaunchTemplateName()const
+{
+	return launchTemplateName_;
+}
+
+void RunInstancesRequest::setLaunchTemplateName(const std::string& launchTemplateName)
+{
+	launchTemplateName_ = launchTemplateName;
+	setParameter("LaunchTemplateName", launchTemplateName);
+}
+
 long RunInstancesRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;
@@ -229,6 +240,17 @@ void RunInstancesRequest::setDryRun(bool dryRun)
 	setParameter("DryRun", std::to_string(dryRun));
 }
 
+std::string RunInstancesRequest::getLaunchTemplateId()const
+{
+	return launchTemplateId_;
+}
+
+void RunInstancesRequest::setLaunchTemplateId(const std::string& launchTemplateId)
+{
+	launchTemplateId_ = launchTemplateId;
+	setParameter("LaunchTemplateId", launchTemplateId);
+}
+
 long RunInstancesRequest::getOwnerId()const
 {
 	return ownerId_;
@@ -641,10 +663,22 @@ void RunInstancesRequest::setDataDisk(const std::vector<DataDisk>& dataDisk)
 		setParameter(str + ".Encrypted", obj.encrypted);
 		setParameter(str + ".DiskName", obj.diskName);
 		setParameter(str + ".Description", obj.description);
+		setParameter(str + ".Device", obj.device);
 		setParameter(str + ".DeleteWithInstance", std::to_string(obj.deleteWithInstance));
 	}
 }
 
+long RunInstancesRequest::getLaunchTemplateVersion()const
+{
+	return launchTemplateVersion_;
+}
+
+void RunInstancesRequest::setLaunchTemplateVersion(long launchTemplateVersion)
+{
+	launchTemplateVersion_ = launchTemplateVersion;
+	setParameter("LaunchTemplateVersion", std::to_string(launchTemplateVersion));
+}
+
 bool RunInstancesRequest::getProxy_trust_transport_info()const
 {
 	return proxy_trust_transport_info_;

+ 379 - 0
ecs/src/model/ValidateSecurityGroupRequest.cc

@@ -0,0 +1,379 @@
+/*
+ * 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/ValidateSecurityGroupRequest.h>
+
+using AlibabaCloud::Ecs::Model::ValidateSecurityGroupRequest;
+
+ValidateSecurityGroupRequest::ValidateSecurityGroupRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ValidateSecurityGroup")
+{}
+
+ValidateSecurityGroupRequest::~ValidateSecurityGroupRequest()
+{}
+
+std::string ValidateSecurityGroupRequest::getNicType()const
+{
+	return nicType_;
+}
+
+void ValidateSecurityGroupRequest::setNicType(const std::string& nicType)
+{
+	nicType_ = nicType;
+	setParameter("NicType", nicType);
+}
+
+long ValidateSecurityGroupRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ValidateSecurityGroupRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ValidateSecurityGroupRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ValidateSecurityGroupRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ValidateSecurityGroupRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ValidateSecurityGroupRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string ValidateSecurityGroupRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ValidateSecurityGroupRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string ValidateSecurityGroupRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ValidateSecurityGroupRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ValidateSecurityGroupRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ValidateSecurityGroupRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string ValidateSecurityGroupRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ValidateSecurityGroupRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ValidateSecurityGroupRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void ValidateSecurityGroupRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+int ValidateSecurityGroupRequest::getSourcePort()const
+{
+	return sourcePort_;
+}
+
+void ValidateSecurityGroupRequest::setSourcePort(int sourcePort)
+{
+	sourcePort_ = sourcePort;
+	setParameter("SourcePort", std::to_string(sourcePort));
+}
+
+std::string ValidateSecurityGroupRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ValidateSecurityGroupRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ValidateSecurityGroupRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ValidateSecurityGroupRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string ValidateSecurityGroupRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ValidateSecurityGroupRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool ValidateSecurityGroupRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ValidateSecurityGroupRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string ValidateSecurityGroupRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ValidateSecurityGroupRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string ValidateSecurityGroupRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ValidateSecurityGroupRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ValidateSecurityGroupRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ValidateSecurityGroupRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ValidateSecurityGroupRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ValidateSecurityGroupRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ValidateSecurityGroupRequest::getDirection()const
+{
+	return direction_;
+}
+
+void ValidateSecurityGroupRequest::setDirection(const std::string& direction)
+{
+	direction_ = direction;
+	setParameter("Direction", direction);
+}
+
+std::string ValidateSecurityGroupRequest::getDestIp()const
+{
+	return destIp_;
+}
+
+void ValidateSecurityGroupRequest::setDestIp(const std::string& destIp)
+{
+	destIp_ = destIp;
+	setParameter("DestIp", destIp);
+}
+
+std::string ValidateSecurityGroupRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ValidateSecurityGroupRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string ValidateSecurityGroupRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ValidateSecurityGroupRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ValidateSecurityGroupRequest::getIpProtocol()const
+{
+	return ipProtocol_;
+}
+
+void ValidateSecurityGroupRequest::setIpProtocol(const std::string& ipProtocol)
+{
+	ipProtocol_ = ipProtocol;
+	setParameter("IpProtocol", ipProtocol);
+}
+
+std::string ValidateSecurityGroupRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ValidateSecurityGroupRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ValidateSecurityGroupRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ValidateSecurityGroupRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long ValidateSecurityGroupRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ValidateSecurityGroupRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ValidateSecurityGroupRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ValidateSecurityGroupRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool ValidateSecurityGroupRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ValidateSecurityGroupRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool ValidateSecurityGroupRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ValidateSecurityGroupRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string ValidateSecurityGroupRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ValidateSecurityGroupRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ValidateSecurityGroupRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ValidateSecurityGroupRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+int ValidateSecurityGroupRequest::getDestPort()const
+{
+	return destPort_;
+}
+
+void ValidateSecurityGroupRequest::setDestPort(int destPort)
+{
+	destPort_ = destPort;
+	setParameter("DestPort", std::to_string(destPort));
+}
+

+ 90 - 0
ecs/src/model/ValidateSecurityGroupResult.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/ValidateSecurityGroupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+ValidateSecurityGroupResult::ValidateSecurityGroupResult() :
+	ServiceResult()
+{}
+
+ValidateSecurityGroupResult::ValidateSecurityGroupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ValidateSecurityGroupResult::~ValidateSecurityGroupResult()
+{}
+
+void ValidateSecurityGroupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto triggeredGroupRuleNode = value["TriggeredGroupRule"];
+	if(!triggeredGroupRuleNode["IpProtocol"].isNull())
+		triggeredGroupRule_.ipProtocol = triggeredGroupRuleNode["IpProtocol"].asString();
+	if(!triggeredGroupRuleNode["PortRange"].isNull())
+		triggeredGroupRule_.portRange = triggeredGroupRuleNode["PortRange"].asString();
+	if(!triggeredGroupRuleNode["SourceGroupId"].isNull())
+		triggeredGroupRule_.sourceGroupId = triggeredGroupRuleNode["SourceGroupId"].asString();
+	if(!triggeredGroupRuleNode["SourceGroupName"].isNull())
+		triggeredGroupRule_.sourceGroupName = triggeredGroupRuleNode["SourceGroupName"].asString();
+	if(!triggeredGroupRuleNode["SourceCidrIp"].isNull())
+		triggeredGroupRule_.sourceCidrIp = triggeredGroupRuleNode["SourceCidrIp"].asString();
+	if(!triggeredGroupRuleNode["Policy"].isNull())
+		triggeredGroupRule_.policy = triggeredGroupRuleNode["Policy"].asString();
+	if(!triggeredGroupRuleNode["NicType"].isNull())
+		triggeredGroupRule_.nicType = triggeredGroupRuleNode["NicType"].asString();
+	if(!triggeredGroupRuleNode["SourceGroupOwnerAccount"].isNull())
+		triggeredGroupRule_.sourceGroupOwnerAccount = triggeredGroupRuleNode["SourceGroupOwnerAccount"].asString();
+	if(!triggeredGroupRuleNode["DestGroupId"].isNull())
+		triggeredGroupRule_.destGroupId = triggeredGroupRuleNode["DestGroupId"].asString();
+	if(!triggeredGroupRuleNode["DestGroupName"].isNull())
+		triggeredGroupRule_.destGroupName = triggeredGroupRuleNode["DestGroupName"].asString();
+	if(!triggeredGroupRuleNode["DestCidrIp"].isNull())
+		triggeredGroupRule_.destCidrIp = triggeredGroupRuleNode["DestCidrIp"].asString();
+	if(!triggeredGroupRuleNode["DestGroupOwnerAccount"].isNull())
+		triggeredGroupRule_.destGroupOwnerAccount = triggeredGroupRuleNode["DestGroupOwnerAccount"].asString();
+	if(!triggeredGroupRuleNode["Priority"].isNull())
+		triggeredGroupRule_.priority = triggeredGroupRuleNode["Priority"].asString();
+	if(!triggeredGroupRuleNode["Direction"].isNull())
+		triggeredGroupRule_.direction = triggeredGroupRuleNode["Direction"].asString();
+	if(!triggeredGroupRuleNode["Description"].isNull())
+		triggeredGroupRule_.description = triggeredGroupRuleNode["Description"].asString();
+	if(!triggeredGroupRuleNode["CreateTime"].isNull())
+		triggeredGroupRule_.createTime = triggeredGroupRuleNode["CreateTime"].asString();
+	if(!value["Policy"].isNull())
+		policy_ = value["Policy"].asString();
+
+}
+
+std::string ValidateSecurityGroupResult::getPolicy()const
+{
+	return policy_;
+}
+
+ValidateSecurityGroupResult::TriggeredGroupRule ValidateSecurityGroupResult::getTriggeredGroupRule()const
+{
+	return triggeredGroupRule_;
+}
+