Browse Source

Generated 2020-06-01 for SWAS-OPEN.

sdk-team 2 năm trước cách đây
mục cha
commit
40e28f2005
58 tập tin đã thay đổi với 3559 bổ sung1 xóa
  1. 1 1
      VERSION
  2. 48 0
      swas-open/CMakeLists.txt
  3. 96 0
      swas-open/include/alibabacloud/swas-open/SWAS_OPENClient.h
  4. 51 0
      swas-open/include/alibabacloud/swas-open/model/AddCustomImageShareAccountRequest.h
  5. 49 0
      swas-open/include/alibabacloud/swas-open/model/AddCustomImageShareAccountResult.h
  6. 54 0
      swas-open/include/alibabacloud/swas-open/model/ApplyFirewallTemplateRequest.h
  7. 51 0
      swas-open/include/alibabacloud/swas-open/model/ApplyFirewallTemplateResult.h
  8. 57 0
      swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateRequest.h
  9. 51 0
      swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateResult.h
  10. 54 0
      swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateRulesRequest.h
  11. 59 0
      swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateRulesResult.h
  12. 54 0
      swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplateRulesRequest.h
  13. 49 0
      swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplateRulesResult.h
  14. 51 0
      swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplatesRequest.h
  15. 49 0
      swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplatesResult.h
  16. 60 0
      swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateApplyResultsRequest.h
  17. 72 0
      swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateApplyResultsResult.h
  18. 54 0
      swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultRequest.h
  19. 61 0
      swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultResult.h
  20. 54 0
      swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplatesRequest.h
  21. 74 0
      swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplatesResult.h
  22. 54 0
      swas-open/include/alibabacloud/swas-open/model/ListCustomImageShareAccountsRequest.h
  23. 62 0
      swas-open/include/alibabacloud/swas-open/model/ListCustomImageShareAccountsResult.h
  24. 6 0
      swas-open/include/alibabacloud/swas-open/model/ListCustomImagesRequest.h
  25. 4 0
      swas-open/include/alibabacloud/swas-open/model/ListCustomImagesResult.h
  26. 3 0
      swas-open/include/alibabacloud/swas-open/model/LoginInstanceRequest.h
  27. 67 0
      swas-open/include/alibabacloud/swas-open/model/ModifyFirewallTemplateRequest.h
  28. 49 0
      swas-open/include/alibabacloud/swas-open/model/ModifyFirewallTemplateResult.h
  29. 51 0
      swas-open/include/alibabacloud/swas-open/model/RemoveCustomImageShareAccountRequest.h
  30. 49 0
      swas-open/include/alibabacloud/swas-open/model/RemoveCustomImageShareAccountResult.h
  31. 432 0
      swas-open/src/SWAS-OPENClient.cc
  32. 62 0
      swas-open/src/model/AddCustomImageShareAccountRequest.cc
  33. 44 0
      swas-open/src/model/AddCustomImageShareAccountResult.cc
  34. 71 0
      swas-open/src/model/ApplyFirewallTemplateRequest.cc
  35. 51 0
      swas-open/src/model/ApplyFirewallTemplateResult.cc
  36. 70 0
      swas-open/src/model/CreateFirewallTemplateRequest.cc
  37. 51 0
      swas-open/src/model/CreateFirewallTemplateResult.cc
  38. 61 0
      swas-open/src/model/CreateFirewallTemplateRulesRequest.cc
  39. 65 0
      swas-open/src/model/CreateFirewallTemplateRulesResult.cc
  40. 71 0
      swas-open/src/model/DeleteFirewallTemplateRulesRequest.cc
  41. 44 0
      swas-open/src/model/DeleteFirewallTemplateRulesResult.cc
  42. 62 0
      swas-open/src/model/DeleteFirewallTemplatesRequest.cc
  43. 44 0
      swas-open/src/model/DeleteFirewallTemplatesResult.cc
  44. 89 0
      swas-open/src/model/DescribeFirewallTemplateApplyResultsRequest.cc
  45. 98 0
      swas-open/src/model/DescribeFirewallTemplateApplyResultsResult.cc
  46. 72 0
      swas-open/src/model/DescribeFirewallTemplateRulesApplyResultRequest.cc
  47. 69 0
      swas-open/src/model/DescribeFirewallTemplateRulesApplyResultResult.cc
  48. 71 0
      swas-open/src/model/DescribeFirewallTemplatesRequest.cc
  49. 102 0
      swas-open/src/model/DescribeFirewallTemplatesResult.cc
  50. 72 0
      swas-open/src/model/ListCustomImageShareAccountsRequest.cc
  51. 80 0
      swas-open/src/model/ListCustomImageShareAccountsResult.cc
  52. 18 0
      swas-open/src/model/ListCustomImagesRequest.cc
  53. 9 0
      swas-open/src/model/ListCustomImagesResult.cc
  54. 9 0
      swas-open/src/model/LoginInstanceRequest.cc
  55. 98 0
      swas-open/src/model/ModifyFirewallTemplateRequest.cc
  56. 44 0
      swas-open/src/model/ModifyFirewallTemplateResult.cc
  57. 62 0
      swas-open/src/model/RemoveCustomImageShareAccountRequest.cc
  58. 44 0
      swas-open/src/model/RemoveCustomImageShareAccountResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1950
+1.36.1951

+ 48 - 0
swas-open/CMakeLists.txt

@@ -21,8 +21,12 @@ set(swas-open_public_header
 	include/alibabacloud/swas-open/SWAS_OPENExport.h )
 
 set(swas-open_public_header_model 
+	include/alibabacloud/swas-open/model/AddCustomImageShareAccountRequest.h
+	include/alibabacloud/swas-open/model/AddCustomImageShareAccountResult.h
 	include/alibabacloud/swas-open/model/AllocatePublicConnectionRequest.h
 	include/alibabacloud/swas-open/model/AllocatePublicConnectionResult.h
+	include/alibabacloud/swas-open/model/ApplyFirewallTemplateRequest.h
+	include/alibabacloud/swas-open/model/ApplyFirewallTemplateResult.h
 	include/alibabacloud/swas-open/model/AttachKeyPairRequest.h
 	include/alibabacloud/swas-open/model/AttachKeyPairResult.h
 	include/alibabacloud/swas-open/model/CreateCommandRequest.h
@@ -33,6 +37,10 @@ set(swas-open_public_header_model
 	include/alibabacloud/swas-open/model/CreateFirewallRuleResult.h
 	include/alibabacloud/swas-open/model/CreateFirewallRulesRequest.h
 	include/alibabacloud/swas-open/model/CreateFirewallRulesResult.h
+	include/alibabacloud/swas-open/model/CreateFirewallTemplateRequest.h
+	include/alibabacloud/swas-open/model/CreateFirewallTemplateResult.h
+	include/alibabacloud/swas-open/model/CreateFirewallTemplateRulesRequest.h
+	include/alibabacloud/swas-open/model/CreateFirewallTemplateRulesResult.h
 	include/alibabacloud/swas-open/model/CreateInstanceKeyPairRequest.h
 	include/alibabacloud/swas-open/model/CreateInstanceKeyPairResult.h
 	include/alibabacloud/swas-open/model/CreateInstancesRequest.h
@@ -51,6 +59,10 @@ set(swas-open_public_header_model
 	include/alibabacloud/swas-open/model/DeleteFirewallRuleResult.h
 	include/alibabacloud/swas-open/model/DeleteFirewallRulesRequest.h
 	include/alibabacloud/swas-open/model/DeleteFirewallRulesResult.h
+	include/alibabacloud/swas-open/model/DeleteFirewallTemplateRulesRequest.h
+	include/alibabacloud/swas-open/model/DeleteFirewallTemplateRulesResult.h
+	include/alibabacloud/swas-open/model/DeleteFirewallTemplatesRequest.h
+	include/alibabacloud/swas-open/model/DeleteFirewallTemplatesResult.h
 	include/alibabacloud/swas-open/model/DeleteInstanceKeyPairRequest.h
 	include/alibabacloud/swas-open/model/DeleteInstanceKeyPairResult.h
 	include/alibabacloud/swas-open/model/DeleteKeyPairsRequest.h
@@ -79,6 +91,12 @@ set(swas-open_public_header_model
 	include/alibabacloud/swas-open/model/DescribeDatabaseInstancesResult.h
 	include/alibabacloud/swas-open/model/DescribeDatabaseSlowLogRecordsRequest.h
 	include/alibabacloud/swas-open/model/DescribeDatabaseSlowLogRecordsResult.h
+	include/alibabacloud/swas-open/model/DescribeFirewallTemplateApplyResultsRequest.h
+	include/alibabacloud/swas-open/model/DescribeFirewallTemplateApplyResultsResult.h
+	include/alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultRequest.h
+	include/alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultResult.h
+	include/alibabacloud/swas-open/model/DescribeFirewallTemplatesRequest.h
+	include/alibabacloud/swas-open/model/DescribeFirewallTemplatesResult.h
 	include/alibabacloud/swas-open/model/DescribeInstanceKeyPairRequest.h
 	include/alibabacloud/swas-open/model/DescribeInstanceKeyPairResult.h
 	include/alibabacloud/swas-open/model/DescribeInstancePasswordsSettingRequest.h
@@ -107,6 +125,8 @@ set(swas-open_public_header_model
 	include/alibabacloud/swas-open/model/InstallCloudMonitorAgentResult.h
 	include/alibabacloud/swas-open/model/InvokeCommandRequest.h
 	include/alibabacloud/swas-open/model/InvokeCommandResult.h
+	include/alibabacloud/swas-open/model/ListCustomImageShareAccountsRequest.h
+	include/alibabacloud/swas-open/model/ListCustomImageShareAccountsResult.h
 	include/alibabacloud/swas-open/model/ListCustomImagesRequest.h
 	include/alibabacloud/swas-open/model/ListCustomImagesResult.h
 	include/alibabacloud/swas-open/model/ListDisksRequest.h
@@ -141,6 +161,8 @@ set(swas-open_public_header_model
 	include/alibabacloud/swas-open/model/ModifyDatabaseInstanceParameterResult.h
 	include/alibabacloud/swas-open/model/ModifyFirewallRuleRequest.h
 	include/alibabacloud/swas-open/model/ModifyFirewallRuleResult.h
+	include/alibabacloud/swas-open/model/ModifyFirewallTemplateRequest.h
+	include/alibabacloud/swas-open/model/ModifyFirewallTemplateResult.h
 	include/alibabacloud/swas-open/model/ModifyImageShareStatusRequest.h
 	include/alibabacloud/swas-open/model/ModifyImageShareStatusResult.h
 	include/alibabacloud/swas-open/model/ModifyInstanceVncPasswordRequest.h
@@ -151,6 +173,8 @@ set(swas-open_public_header_model
 	include/alibabacloud/swas-open/model/RebootInstancesResult.h
 	include/alibabacloud/swas-open/model/ReleasePublicConnectionRequest.h
 	include/alibabacloud/swas-open/model/ReleasePublicConnectionResult.h
+	include/alibabacloud/swas-open/model/RemoveCustomImageShareAccountRequest.h
+	include/alibabacloud/swas-open/model/RemoveCustomImageShareAccountResult.h
 	include/alibabacloud/swas-open/model/RenewInstanceRequest.h
 	include/alibabacloud/swas-open/model/RenewInstanceResult.h
 	include/alibabacloud/swas-open/model/ResetDatabaseAccountPasswordRequest.h
@@ -196,8 +220,12 @@ set(swas-open_public_header_model
 
 set(swas-open_src 
 	src/SWAS-OPENClient.cc
+	src/model/AddCustomImageShareAccountRequest.cc
+	src/model/AddCustomImageShareAccountResult.cc
 	src/model/AllocatePublicConnectionRequest.cc
 	src/model/AllocatePublicConnectionResult.cc
+	src/model/ApplyFirewallTemplateRequest.cc
+	src/model/ApplyFirewallTemplateResult.cc
 	src/model/AttachKeyPairRequest.cc
 	src/model/AttachKeyPairResult.cc
 	src/model/CreateCommandRequest.cc
@@ -208,6 +236,10 @@ set(swas-open_src
 	src/model/CreateFirewallRuleResult.cc
 	src/model/CreateFirewallRulesRequest.cc
 	src/model/CreateFirewallRulesResult.cc
+	src/model/CreateFirewallTemplateRequest.cc
+	src/model/CreateFirewallTemplateResult.cc
+	src/model/CreateFirewallTemplateRulesRequest.cc
+	src/model/CreateFirewallTemplateRulesResult.cc
 	src/model/CreateInstanceKeyPairRequest.cc
 	src/model/CreateInstanceKeyPairResult.cc
 	src/model/CreateInstancesRequest.cc
@@ -226,6 +258,10 @@ set(swas-open_src
 	src/model/DeleteFirewallRuleResult.cc
 	src/model/DeleteFirewallRulesRequest.cc
 	src/model/DeleteFirewallRulesResult.cc
+	src/model/DeleteFirewallTemplateRulesRequest.cc
+	src/model/DeleteFirewallTemplateRulesResult.cc
+	src/model/DeleteFirewallTemplatesRequest.cc
+	src/model/DeleteFirewallTemplatesResult.cc
 	src/model/DeleteInstanceKeyPairRequest.cc
 	src/model/DeleteInstanceKeyPairResult.cc
 	src/model/DeleteKeyPairsRequest.cc
@@ -254,6 +290,12 @@ set(swas-open_src
 	src/model/DescribeDatabaseInstancesResult.cc
 	src/model/DescribeDatabaseSlowLogRecordsRequest.cc
 	src/model/DescribeDatabaseSlowLogRecordsResult.cc
+	src/model/DescribeFirewallTemplateApplyResultsRequest.cc
+	src/model/DescribeFirewallTemplateApplyResultsResult.cc
+	src/model/DescribeFirewallTemplateRulesApplyResultRequest.cc
+	src/model/DescribeFirewallTemplateRulesApplyResultResult.cc
+	src/model/DescribeFirewallTemplatesRequest.cc
+	src/model/DescribeFirewallTemplatesResult.cc
 	src/model/DescribeInstanceKeyPairRequest.cc
 	src/model/DescribeInstanceKeyPairResult.cc
 	src/model/DescribeInstancePasswordsSettingRequest.cc
@@ -282,6 +324,8 @@ set(swas-open_src
 	src/model/InstallCloudMonitorAgentResult.cc
 	src/model/InvokeCommandRequest.cc
 	src/model/InvokeCommandResult.cc
+	src/model/ListCustomImageShareAccountsRequest.cc
+	src/model/ListCustomImageShareAccountsResult.cc
 	src/model/ListCustomImagesRequest.cc
 	src/model/ListCustomImagesResult.cc
 	src/model/ListDisksRequest.cc
@@ -316,6 +360,8 @@ set(swas-open_src
 	src/model/ModifyDatabaseInstanceParameterResult.cc
 	src/model/ModifyFirewallRuleRequest.cc
 	src/model/ModifyFirewallRuleResult.cc
+	src/model/ModifyFirewallTemplateRequest.cc
+	src/model/ModifyFirewallTemplateResult.cc
 	src/model/ModifyImageShareStatusRequest.cc
 	src/model/ModifyImageShareStatusResult.cc
 	src/model/ModifyInstanceVncPasswordRequest.cc
@@ -326,6 +372,8 @@ set(swas-open_src
 	src/model/RebootInstancesResult.cc
 	src/model/ReleasePublicConnectionRequest.cc
 	src/model/ReleasePublicConnectionResult.cc
+	src/model/RemoveCustomImageShareAccountRequest.cc
+	src/model/RemoveCustomImageShareAccountResult.cc
 	src/model/RenewInstanceRequest.cc
 	src/model/RenewInstanceResult.cc
 	src/model/ResetDatabaseAccountPasswordRequest.cc

+ 96 - 0
swas-open/include/alibabacloud/swas-open/SWAS_OPENClient.h

@@ -22,8 +22,12 @@
 #include <alibabacloud/core/EndpointProvider.h>
 #include <alibabacloud/core/RpcServiceClient.h>
 #include "SWAS_OPENExport.h"
+#include "model/AddCustomImageShareAccountRequest.h"
+#include "model/AddCustomImageShareAccountResult.h"
 #include "model/AllocatePublicConnectionRequest.h"
 #include "model/AllocatePublicConnectionResult.h"
+#include "model/ApplyFirewallTemplateRequest.h"
+#include "model/ApplyFirewallTemplateResult.h"
 #include "model/AttachKeyPairRequest.h"
 #include "model/AttachKeyPairResult.h"
 #include "model/CreateCommandRequest.h"
@@ -34,6 +38,10 @@
 #include "model/CreateFirewallRuleResult.h"
 #include "model/CreateFirewallRulesRequest.h"
 #include "model/CreateFirewallRulesResult.h"
+#include "model/CreateFirewallTemplateRequest.h"
+#include "model/CreateFirewallTemplateResult.h"
+#include "model/CreateFirewallTemplateRulesRequest.h"
+#include "model/CreateFirewallTemplateRulesResult.h"
 #include "model/CreateInstanceKeyPairRequest.h"
 #include "model/CreateInstanceKeyPairResult.h"
 #include "model/CreateInstancesRequest.h"
@@ -52,6 +60,10 @@
 #include "model/DeleteFirewallRuleResult.h"
 #include "model/DeleteFirewallRulesRequest.h"
 #include "model/DeleteFirewallRulesResult.h"
+#include "model/DeleteFirewallTemplateRulesRequest.h"
+#include "model/DeleteFirewallTemplateRulesResult.h"
+#include "model/DeleteFirewallTemplatesRequest.h"
+#include "model/DeleteFirewallTemplatesResult.h"
 #include "model/DeleteInstanceKeyPairRequest.h"
 #include "model/DeleteInstanceKeyPairResult.h"
 #include "model/DeleteKeyPairsRequest.h"
@@ -80,6 +92,12 @@
 #include "model/DescribeDatabaseInstancesResult.h"
 #include "model/DescribeDatabaseSlowLogRecordsRequest.h"
 #include "model/DescribeDatabaseSlowLogRecordsResult.h"
+#include "model/DescribeFirewallTemplateApplyResultsRequest.h"
+#include "model/DescribeFirewallTemplateApplyResultsResult.h"
+#include "model/DescribeFirewallTemplateRulesApplyResultRequest.h"
+#include "model/DescribeFirewallTemplateRulesApplyResultResult.h"
+#include "model/DescribeFirewallTemplatesRequest.h"
+#include "model/DescribeFirewallTemplatesResult.h"
 #include "model/DescribeInstanceKeyPairRequest.h"
 #include "model/DescribeInstanceKeyPairResult.h"
 #include "model/DescribeInstancePasswordsSettingRequest.h"
@@ -108,6 +126,8 @@
 #include "model/InstallCloudMonitorAgentResult.h"
 #include "model/InvokeCommandRequest.h"
 #include "model/InvokeCommandResult.h"
+#include "model/ListCustomImageShareAccountsRequest.h"
+#include "model/ListCustomImageShareAccountsResult.h"
 #include "model/ListCustomImagesRequest.h"
 #include "model/ListCustomImagesResult.h"
 #include "model/ListDisksRequest.h"
@@ -142,6 +162,8 @@
 #include "model/ModifyDatabaseInstanceParameterResult.h"
 #include "model/ModifyFirewallRuleRequest.h"
 #include "model/ModifyFirewallRuleResult.h"
+#include "model/ModifyFirewallTemplateRequest.h"
+#include "model/ModifyFirewallTemplateResult.h"
 #include "model/ModifyImageShareStatusRequest.h"
 #include "model/ModifyImageShareStatusResult.h"
 #include "model/ModifyInstanceVncPasswordRequest.h"
@@ -152,6 +174,8 @@
 #include "model/RebootInstancesResult.h"
 #include "model/ReleasePublicConnectionRequest.h"
 #include "model/ReleasePublicConnectionResult.h"
+#include "model/RemoveCustomImageShareAccountRequest.h"
+#include "model/RemoveCustomImageShareAccountResult.h"
 #include "model/RenewInstanceRequest.h"
 #include "model/RenewInstanceResult.h"
 #include "model/ResetDatabaseAccountPasswordRequest.h"
@@ -203,9 +227,15 @@ namespace AlibabaCloud
 		class ALIBABACLOUD_SWAS_OPEN_EXPORT SWAS_OPENClient : public RpcServiceClient
 		{
 		public:
+			typedef Outcome<Error, Model::AddCustomImageShareAccountResult> AddCustomImageShareAccountOutcome;
+			typedef std::future<AddCustomImageShareAccountOutcome> AddCustomImageShareAccountOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::AddCustomImageShareAccountRequest&, const AddCustomImageShareAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddCustomImageShareAccountAsyncHandler;
 			typedef Outcome<Error, Model::AllocatePublicConnectionResult> AllocatePublicConnectionOutcome;
 			typedef std::future<AllocatePublicConnectionOutcome> AllocatePublicConnectionOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::AllocatePublicConnectionRequest&, const AllocatePublicConnectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AllocatePublicConnectionAsyncHandler;
+			typedef Outcome<Error, Model::ApplyFirewallTemplateResult> ApplyFirewallTemplateOutcome;
+			typedef std::future<ApplyFirewallTemplateOutcome> ApplyFirewallTemplateOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::ApplyFirewallTemplateRequest&, const ApplyFirewallTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyFirewallTemplateAsyncHandler;
 			typedef Outcome<Error, Model::AttachKeyPairResult> AttachKeyPairOutcome;
 			typedef std::future<AttachKeyPairOutcome> AttachKeyPairOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::AttachKeyPairRequest&, const AttachKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachKeyPairAsyncHandler;
@@ -221,6 +251,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateFirewallRulesResult> CreateFirewallRulesOutcome;
 			typedef std::future<CreateFirewallRulesOutcome> CreateFirewallRulesOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::CreateFirewallRulesRequest&, const CreateFirewallRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFirewallRulesAsyncHandler;
+			typedef Outcome<Error, Model::CreateFirewallTemplateResult> CreateFirewallTemplateOutcome;
+			typedef std::future<CreateFirewallTemplateOutcome> CreateFirewallTemplateOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::CreateFirewallTemplateRequest&, const CreateFirewallTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFirewallTemplateAsyncHandler;
+			typedef Outcome<Error, Model::CreateFirewallTemplateRulesResult> CreateFirewallTemplateRulesOutcome;
+			typedef std::future<CreateFirewallTemplateRulesOutcome> CreateFirewallTemplateRulesOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::CreateFirewallTemplateRulesRequest&, const CreateFirewallTemplateRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFirewallTemplateRulesAsyncHandler;
 			typedef Outcome<Error, Model::CreateInstanceKeyPairResult> CreateInstanceKeyPairOutcome;
 			typedef std::future<CreateInstanceKeyPairOutcome> CreateInstanceKeyPairOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::CreateInstanceKeyPairRequest&, const CreateInstanceKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceKeyPairAsyncHandler;
@@ -248,6 +284,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteFirewallRulesResult> DeleteFirewallRulesOutcome;
 			typedef std::future<DeleteFirewallRulesOutcome> DeleteFirewallRulesOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::DeleteFirewallRulesRequest&, const DeleteFirewallRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFirewallRulesAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFirewallTemplateRulesResult> DeleteFirewallTemplateRulesOutcome;
+			typedef std::future<DeleteFirewallTemplateRulesOutcome> DeleteFirewallTemplateRulesOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::DeleteFirewallTemplateRulesRequest&, const DeleteFirewallTemplateRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFirewallTemplateRulesAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFirewallTemplatesResult> DeleteFirewallTemplatesOutcome;
+			typedef std::future<DeleteFirewallTemplatesOutcome> DeleteFirewallTemplatesOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::DeleteFirewallTemplatesRequest&, const DeleteFirewallTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFirewallTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::DeleteInstanceKeyPairResult> DeleteInstanceKeyPairOutcome;
 			typedef std::future<DeleteInstanceKeyPairOutcome> DeleteInstanceKeyPairOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::DeleteInstanceKeyPairRequest&, const DeleteInstanceKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteInstanceKeyPairAsyncHandler;
@@ -290,6 +332,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDatabaseSlowLogRecordsResult> DescribeDatabaseSlowLogRecordsOutcome;
 			typedef std::future<DescribeDatabaseSlowLogRecordsOutcome> DescribeDatabaseSlowLogRecordsOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::DescribeDatabaseSlowLogRecordsRequest&, const DescribeDatabaseSlowLogRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDatabaseSlowLogRecordsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFirewallTemplateApplyResultsResult> DescribeFirewallTemplateApplyResultsOutcome;
+			typedef std::future<DescribeFirewallTemplateApplyResultsOutcome> DescribeFirewallTemplateApplyResultsOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::DescribeFirewallTemplateApplyResultsRequest&, const DescribeFirewallTemplateApplyResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFirewallTemplateApplyResultsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFirewallTemplateRulesApplyResultResult> DescribeFirewallTemplateRulesApplyResultOutcome;
+			typedef std::future<DescribeFirewallTemplateRulesApplyResultOutcome> DescribeFirewallTemplateRulesApplyResultOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::DescribeFirewallTemplateRulesApplyResultRequest&, const DescribeFirewallTemplateRulesApplyResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFirewallTemplateRulesApplyResultAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFirewallTemplatesResult> DescribeFirewallTemplatesOutcome;
+			typedef std::future<DescribeFirewallTemplatesOutcome> DescribeFirewallTemplatesOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::DescribeFirewallTemplatesRequest&, const DescribeFirewallTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFirewallTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceKeyPairResult> DescribeInstanceKeyPairOutcome;
 			typedef std::future<DescribeInstanceKeyPairOutcome> DescribeInstanceKeyPairOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::DescribeInstanceKeyPairRequest&, const DescribeInstanceKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceKeyPairAsyncHandler;
@@ -332,6 +383,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::InvokeCommandResult> InvokeCommandOutcome;
 			typedef std::future<InvokeCommandOutcome> InvokeCommandOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::InvokeCommandRequest&, const InvokeCommandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> InvokeCommandAsyncHandler;
+			typedef Outcome<Error, Model::ListCustomImageShareAccountsResult> ListCustomImageShareAccountsOutcome;
+			typedef std::future<ListCustomImageShareAccountsOutcome> ListCustomImageShareAccountsOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::ListCustomImageShareAccountsRequest&, const ListCustomImageShareAccountsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCustomImageShareAccountsAsyncHandler;
 			typedef Outcome<Error, Model::ListCustomImagesResult> ListCustomImagesOutcome;
 			typedef std::future<ListCustomImagesOutcome> ListCustomImagesOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::ListCustomImagesRequest&, const ListCustomImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCustomImagesAsyncHandler;
@@ -383,6 +437,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyFirewallRuleResult> ModifyFirewallRuleOutcome;
 			typedef std::future<ModifyFirewallRuleOutcome> ModifyFirewallRuleOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::ModifyFirewallRuleRequest&, const ModifyFirewallRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFirewallRuleAsyncHandler;
+			typedef Outcome<Error, Model::ModifyFirewallTemplateResult> ModifyFirewallTemplateOutcome;
+			typedef std::future<ModifyFirewallTemplateOutcome> ModifyFirewallTemplateOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::ModifyFirewallTemplateRequest&, const ModifyFirewallTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFirewallTemplateAsyncHandler;
 			typedef Outcome<Error, Model::ModifyImageShareStatusResult> ModifyImageShareStatusOutcome;
 			typedef std::future<ModifyImageShareStatusOutcome> ModifyImageShareStatusOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::ModifyImageShareStatusRequest&, const ModifyImageShareStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyImageShareStatusAsyncHandler;
@@ -398,6 +455,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ReleasePublicConnectionResult> ReleasePublicConnectionOutcome;
 			typedef std::future<ReleasePublicConnectionOutcome> ReleasePublicConnectionOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::ReleasePublicConnectionRequest&, const ReleasePublicConnectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleasePublicConnectionAsyncHandler;
+			typedef Outcome<Error, Model::RemoveCustomImageShareAccountResult> RemoveCustomImageShareAccountOutcome;
+			typedef std::future<RemoveCustomImageShareAccountOutcome> RemoveCustomImageShareAccountOutcomeCallable;
+			typedef std::function<void(const SWAS_OPENClient*, const Model::RemoveCustomImageShareAccountRequest&, const RemoveCustomImageShareAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveCustomImageShareAccountAsyncHandler;
 			typedef Outcome<Error, Model::RenewInstanceResult> RenewInstanceOutcome;
 			typedef std::future<RenewInstanceOutcome> RenewInstanceOutcomeCallable;
 			typedef std::function<void(const SWAS_OPENClient*, const Model::RenewInstanceRequest&, const RenewInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewInstanceAsyncHandler;
@@ -466,9 +526,15 @@ namespace AlibabaCloud
 			SWAS_OPENClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
 			SWAS_OPENClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
 			~SWAS_OPENClient();
+			AddCustomImageShareAccountOutcome addCustomImageShareAccount(const Model::AddCustomImageShareAccountRequest &request)const;
+			void addCustomImageShareAccountAsync(const Model::AddCustomImageShareAccountRequest& request, const AddCustomImageShareAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddCustomImageShareAccountOutcomeCallable addCustomImageShareAccountCallable(const Model::AddCustomImageShareAccountRequest& request) const;
 			AllocatePublicConnectionOutcome allocatePublicConnection(const Model::AllocatePublicConnectionRequest &request)const;
 			void allocatePublicConnectionAsync(const Model::AllocatePublicConnectionRequest& request, const AllocatePublicConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AllocatePublicConnectionOutcomeCallable allocatePublicConnectionCallable(const Model::AllocatePublicConnectionRequest& request) const;
+			ApplyFirewallTemplateOutcome applyFirewallTemplate(const Model::ApplyFirewallTemplateRequest &request)const;
+			void applyFirewallTemplateAsync(const Model::ApplyFirewallTemplateRequest& request, const ApplyFirewallTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ApplyFirewallTemplateOutcomeCallable applyFirewallTemplateCallable(const Model::ApplyFirewallTemplateRequest& request) const;
 			AttachKeyPairOutcome attachKeyPair(const Model::AttachKeyPairRequest &request)const;
 			void attachKeyPairAsync(const Model::AttachKeyPairRequest& request, const AttachKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AttachKeyPairOutcomeCallable attachKeyPairCallable(const Model::AttachKeyPairRequest& request) const;
@@ -484,6 +550,12 @@ namespace AlibabaCloud
 			CreateFirewallRulesOutcome createFirewallRules(const Model::CreateFirewallRulesRequest &request)const;
 			void createFirewallRulesAsync(const Model::CreateFirewallRulesRequest& request, const CreateFirewallRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateFirewallRulesOutcomeCallable createFirewallRulesCallable(const Model::CreateFirewallRulesRequest& request) const;
+			CreateFirewallTemplateOutcome createFirewallTemplate(const Model::CreateFirewallTemplateRequest &request)const;
+			void createFirewallTemplateAsync(const Model::CreateFirewallTemplateRequest& request, const CreateFirewallTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFirewallTemplateOutcomeCallable createFirewallTemplateCallable(const Model::CreateFirewallTemplateRequest& request) const;
+			CreateFirewallTemplateRulesOutcome createFirewallTemplateRules(const Model::CreateFirewallTemplateRulesRequest &request)const;
+			void createFirewallTemplateRulesAsync(const Model::CreateFirewallTemplateRulesRequest& request, const CreateFirewallTemplateRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFirewallTemplateRulesOutcomeCallable createFirewallTemplateRulesCallable(const Model::CreateFirewallTemplateRulesRequest& request) const;
 			CreateInstanceKeyPairOutcome createInstanceKeyPair(const Model::CreateInstanceKeyPairRequest &request)const;
 			void createInstanceKeyPairAsync(const Model::CreateInstanceKeyPairRequest& request, const CreateInstanceKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateInstanceKeyPairOutcomeCallable createInstanceKeyPairCallable(const Model::CreateInstanceKeyPairRequest& request) const;
@@ -511,6 +583,12 @@ namespace AlibabaCloud
 			DeleteFirewallRulesOutcome deleteFirewallRules(const Model::DeleteFirewallRulesRequest &request)const;
 			void deleteFirewallRulesAsync(const Model::DeleteFirewallRulesRequest& request, const DeleteFirewallRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteFirewallRulesOutcomeCallable deleteFirewallRulesCallable(const Model::DeleteFirewallRulesRequest& request) const;
+			DeleteFirewallTemplateRulesOutcome deleteFirewallTemplateRules(const Model::DeleteFirewallTemplateRulesRequest &request)const;
+			void deleteFirewallTemplateRulesAsync(const Model::DeleteFirewallTemplateRulesRequest& request, const DeleteFirewallTemplateRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFirewallTemplateRulesOutcomeCallable deleteFirewallTemplateRulesCallable(const Model::DeleteFirewallTemplateRulesRequest& request) const;
+			DeleteFirewallTemplatesOutcome deleteFirewallTemplates(const Model::DeleteFirewallTemplatesRequest &request)const;
+			void deleteFirewallTemplatesAsync(const Model::DeleteFirewallTemplatesRequest& request, const DeleteFirewallTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFirewallTemplatesOutcomeCallable deleteFirewallTemplatesCallable(const Model::DeleteFirewallTemplatesRequest& request) const;
 			DeleteInstanceKeyPairOutcome deleteInstanceKeyPair(const Model::DeleteInstanceKeyPairRequest &request)const;
 			void deleteInstanceKeyPairAsync(const Model::DeleteInstanceKeyPairRequest& request, const DeleteInstanceKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteInstanceKeyPairOutcomeCallable deleteInstanceKeyPairCallable(const Model::DeleteInstanceKeyPairRequest& request) const;
@@ -553,6 +631,15 @@ namespace AlibabaCloud
 			DescribeDatabaseSlowLogRecordsOutcome describeDatabaseSlowLogRecords(const Model::DescribeDatabaseSlowLogRecordsRequest &request)const;
 			void describeDatabaseSlowLogRecordsAsync(const Model::DescribeDatabaseSlowLogRecordsRequest& request, const DescribeDatabaseSlowLogRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDatabaseSlowLogRecordsOutcomeCallable describeDatabaseSlowLogRecordsCallable(const Model::DescribeDatabaseSlowLogRecordsRequest& request) const;
+			DescribeFirewallTemplateApplyResultsOutcome describeFirewallTemplateApplyResults(const Model::DescribeFirewallTemplateApplyResultsRequest &request)const;
+			void describeFirewallTemplateApplyResultsAsync(const Model::DescribeFirewallTemplateApplyResultsRequest& request, const DescribeFirewallTemplateApplyResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFirewallTemplateApplyResultsOutcomeCallable describeFirewallTemplateApplyResultsCallable(const Model::DescribeFirewallTemplateApplyResultsRequest& request) const;
+			DescribeFirewallTemplateRulesApplyResultOutcome describeFirewallTemplateRulesApplyResult(const Model::DescribeFirewallTemplateRulesApplyResultRequest &request)const;
+			void describeFirewallTemplateRulesApplyResultAsync(const Model::DescribeFirewallTemplateRulesApplyResultRequest& request, const DescribeFirewallTemplateRulesApplyResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFirewallTemplateRulesApplyResultOutcomeCallable describeFirewallTemplateRulesApplyResultCallable(const Model::DescribeFirewallTemplateRulesApplyResultRequest& request) const;
+			DescribeFirewallTemplatesOutcome describeFirewallTemplates(const Model::DescribeFirewallTemplatesRequest &request)const;
+			void describeFirewallTemplatesAsync(const Model::DescribeFirewallTemplatesRequest& request, const DescribeFirewallTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFirewallTemplatesOutcomeCallable describeFirewallTemplatesCallable(const Model::DescribeFirewallTemplatesRequest& request) const;
 			DescribeInstanceKeyPairOutcome describeInstanceKeyPair(const Model::DescribeInstanceKeyPairRequest &request)const;
 			void describeInstanceKeyPairAsync(const Model::DescribeInstanceKeyPairRequest& request, const DescribeInstanceKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceKeyPairOutcomeCallable describeInstanceKeyPairCallable(const Model::DescribeInstanceKeyPairRequest& request) const;
@@ -595,6 +682,9 @@ namespace AlibabaCloud
 			InvokeCommandOutcome invokeCommand(const Model::InvokeCommandRequest &request)const;
 			void invokeCommandAsync(const Model::InvokeCommandRequest& request, const InvokeCommandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			InvokeCommandOutcomeCallable invokeCommandCallable(const Model::InvokeCommandRequest& request) const;
+			ListCustomImageShareAccountsOutcome listCustomImageShareAccounts(const Model::ListCustomImageShareAccountsRequest &request)const;
+			void listCustomImageShareAccountsAsync(const Model::ListCustomImageShareAccountsRequest& request, const ListCustomImageShareAccountsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCustomImageShareAccountsOutcomeCallable listCustomImageShareAccountsCallable(const Model::ListCustomImageShareAccountsRequest& request) const;
 			ListCustomImagesOutcome listCustomImages(const Model::ListCustomImagesRequest &request)const;
 			void listCustomImagesAsync(const Model::ListCustomImagesRequest& request, const ListCustomImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListCustomImagesOutcomeCallable listCustomImagesCallable(const Model::ListCustomImagesRequest& request) const;
@@ -646,6 +736,9 @@ namespace AlibabaCloud
 			ModifyFirewallRuleOutcome modifyFirewallRule(const Model::ModifyFirewallRuleRequest &request)const;
 			void modifyFirewallRuleAsync(const Model::ModifyFirewallRuleRequest& request, const ModifyFirewallRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyFirewallRuleOutcomeCallable modifyFirewallRuleCallable(const Model::ModifyFirewallRuleRequest& request) const;
+			ModifyFirewallTemplateOutcome modifyFirewallTemplate(const Model::ModifyFirewallTemplateRequest &request)const;
+			void modifyFirewallTemplateAsync(const Model::ModifyFirewallTemplateRequest& request, const ModifyFirewallTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyFirewallTemplateOutcomeCallable modifyFirewallTemplateCallable(const Model::ModifyFirewallTemplateRequest& request) const;
 			ModifyImageShareStatusOutcome modifyImageShareStatus(const Model::ModifyImageShareStatusRequest &request)const;
 			void modifyImageShareStatusAsync(const Model::ModifyImageShareStatusRequest& request, const ModifyImageShareStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyImageShareStatusOutcomeCallable modifyImageShareStatusCallable(const Model::ModifyImageShareStatusRequest& request) const;
@@ -661,6 +754,9 @@ namespace AlibabaCloud
 			ReleasePublicConnectionOutcome releasePublicConnection(const Model::ReleasePublicConnectionRequest &request)const;
 			void releasePublicConnectionAsync(const Model::ReleasePublicConnectionRequest& request, const ReleasePublicConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReleasePublicConnectionOutcomeCallable releasePublicConnectionCallable(const Model::ReleasePublicConnectionRequest& request) const;
+			RemoveCustomImageShareAccountOutcome removeCustomImageShareAccount(const Model::RemoveCustomImageShareAccountRequest &request)const;
+			void removeCustomImageShareAccountAsync(const Model::RemoveCustomImageShareAccountRequest& request, const RemoveCustomImageShareAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveCustomImageShareAccountOutcomeCallable removeCustomImageShareAccountCallable(const Model::RemoveCustomImageShareAccountRequest& request) const;
 			RenewInstanceOutcome renewInstance(const Model::RenewInstanceRequest &request)const;
 			void renewInstanceAsync(const Model::RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RenewInstanceOutcomeCallable renewInstanceCallable(const Model::RenewInstanceRequest& request) const;

+ 51 - 0
swas-open/include/alibabacloud/swas-open/model/AddCustomImageShareAccountRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_ADDCUSTOMIMAGESHAREACCOUNTREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_ADDCUSTOMIMAGESHAREACCOUNTREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT AddCustomImageShareAccountRequest : public RpcServiceRequest {
+public:
+	AddCustomImageShareAccountRequest();
+	~AddCustomImageShareAccountRequest();
+	std::string getImageId() const;
+	void setImageId(const std::string &imageId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<long> getAccount() const;
+	void setAccount(const std::vector<long> &account);
+
+private:
+	std::string imageId_;
+	std::string clientToken_;
+	std::string regionId_;
+	std::vector<long> account_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_ADDCUSTOMIMAGESHAREACCOUNTREQUEST_H_

+ 49 - 0
swas-open/include/alibabacloud/swas-open/model/AddCustomImageShareAccountResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_ADDCUSTOMIMAGESHAREACCOUNTRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_ADDCUSTOMIMAGESHAREACCOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT AddCustomImageShareAccountResult : public ServiceResult
+			{
+			public:
+
+
+				AddCustomImageShareAccountResult();
+				explicit AddCustomImageShareAccountResult(const std::string &payload);
+				~AddCustomImageShareAccountResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_ADDCUSTOMIMAGESHAREACCOUNTRESULT_H_

+ 54 - 0
swas-open/include/alibabacloud/swas-open/model/ApplyFirewallTemplateRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_SWAS_OPEN_MODEL_APPLYFIREWALLTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_APPLYFIREWALLTEMPLATEREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT ApplyFirewallTemplateRequest : public RpcServiceRequest {
+public:
+	ApplyFirewallTemplateRequest();
+	~ApplyFirewallTemplateRequest();
+	std::string getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::string &firewallTemplateId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<std::string> getInstanceIds() const;
+	void setInstanceIds(const std::vector<std::string> &instanceIds);
+
+private:
+	std::string firewallTemplateId_;
+	std::string clientToken_;
+	std::string instanceId_;
+	std::string regionId_;
+	std::vector<std::string> instanceIds_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_APPLYFIREWALLTEMPLATEREQUEST_H_

+ 51 - 0
swas-open/include/alibabacloud/swas-open/model/ApplyFirewallTemplateResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_APPLYFIREWALLTEMPLATERESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_APPLYFIREWALLTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT ApplyFirewallTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				ApplyFirewallTemplateResult();
+				explicit ApplyFirewallTemplateResult(const std::string &payload);
+				~ApplyFirewallTemplateResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_APPLYFIREWALLTEMPLATERESULT_H_

+ 57 - 0
swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATEREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT CreateFirewallTemplateRequest : public RpcServiceRequest {
+public:
+	struct FirewallRule {
+		std::string ruleProtocol;
+		std::string port;
+		std::string sourceCidrIp;
+		std::string remark;
+	};
+	CreateFirewallTemplateRequest();
+	~CreateFirewallTemplateRequest();
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getName() const;
+	void setName(const std::string &name);
+	std::vector<FirewallRule> getFirewallRule() const;
+	void setFirewallRule(const std::vector<FirewallRule> &firewallRule);
+
+private:
+	std::string description_;
+	std::string regionId_;
+	std::string name_;
+	std::vector<FirewallRule> firewallRule_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATEREQUEST_H_

+ 51 - 0
swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT CreateFirewallTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				CreateFirewallTemplateResult();
+				explicit CreateFirewallTemplateResult(const std::string &payload);
+				~CreateFirewallTemplateResult();
+				std::string getFirewallTemplateId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string firewallTemplateId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERESULT_H_

+ 54 - 0
swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateRulesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERULESREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERULESREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT CreateFirewallTemplateRulesRequest : public RpcServiceRequest {
+public:
+	struct FirewallRule {
+		std::string ruleProtocol;
+		std::string port;
+		std::string sourceCidrIp;
+		std::string remark;
+	};
+	CreateFirewallTemplateRulesRequest();
+	~CreateFirewallTemplateRulesRequest();
+	std::string getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::string &firewallTemplateId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<FirewallRule> getFirewallRule() const;
+	void setFirewallRule(const std::vector<FirewallRule> &firewallRule);
+
+private:
+	std::string firewallTemplateId_;
+	std::string regionId_;
+	std::vector<FirewallRule> firewallRule_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERULESREQUEST_H_

+ 59 - 0
swas-open/include/alibabacloud/swas-open/model/CreateFirewallTemplateRulesResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERULESRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERULESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT CreateFirewallTemplateRulesResult : public ServiceResult
+			{
+			public:
+				struct FirewallTemplateRule
+				{
+					std::string firewallTemplateRuleId;
+					std::string port;
+					std::string sourceCidrIp;
+					std::string ruleProtocol;
+					std::string remark;
+				};
+
+
+				CreateFirewallTemplateRulesResult();
+				explicit CreateFirewallTemplateRulesResult(const std::string &payload);
+				~CreateFirewallTemplateRulesResult();
+				std::vector<FirewallTemplateRule> getFirewallTemplateRules()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<FirewallTemplateRule> firewallTemplateRules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_CREATEFIREWALLTEMPLATERULESRESULT_H_

+ 54 - 0
swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplateRulesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATERULESREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATERULESREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT DeleteFirewallTemplateRulesRequest : public RpcServiceRequest {
+public:
+	DeleteFirewallTemplateRulesRequest();
+	~DeleteFirewallTemplateRulesRequest();
+	std::string getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::string &firewallTemplateId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<std::string> getFirewallTemplateRuleId() const;
+	void setFirewallTemplateRuleId(const std::vector<std::string> &firewallTemplateRuleId);
+
+private:
+	std::string firewallTemplateId_;
+	std::string clientToken_;
+	std::string instanceId_;
+	std::string regionId_;
+	std::vector<std::string> firewallTemplateRuleId_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATERULESREQUEST_H_

+ 49 - 0
swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplateRulesResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATERULESRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATERULESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT DeleteFirewallTemplateRulesResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFirewallTemplateRulesResult();
+				explicit DeleteFirewallTemplateRulesResult(const std::string &payload);
+				~DeleteFirewallTemplateRulesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATERULESRESULT_H_

+ 51 - 0
swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplatesRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATESREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT DeleteFirewallTemplatesRequest : public RpcServiceRequest {
+public:
+	DeleteFirewallTemplatesRequest();
+	~DeleteFirewallTemplatesRequest();
+	std::vector<std::string> getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::vector<std::string> &firewallTemplateId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::vector<std::string> firewallTemplateId_;
+	std::string clientToken_;
+	std::string instanceId_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATESREQUEST_H_

+ 49 - 0
swas-open/include/alibabacloud/swas-open/model/DeleteFirewallTemplatesResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATESRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT DeleteFirewallTemplatesResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFirewallTemplatesResult();
+				explicit DeleteFirewallTemplatesResult(const std::string &payload);
+				~DeleteFirewallTemplatesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DELETEFIREWALLTEMPLATESRESULT_H_

+ 60 - 0
swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateApplyResultsRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATEAPPLYRESULTSREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATEAPPLYRESULTSREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT DescribeFirewallTemplateApplyResultsRequest : public RpcServiceRequest {
+public:
+	DescribeFirewallTemplateApplyResultsRequest();
+	~DescribeFirewallTemplateApplyResultsRequest();
+	std::string getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::string &firewallTemplateId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::vector<std::string> getTaskId() const;
+	void setTaskId(const std::vector<std::string> &taskId);
+
+private:
+	std::string firewallTemplateId_;
+	std::string clientToken_;
+	int pageNumber_;
+	std::string instanceId_;
+	std::string regionId_;
+	int pageSize_;
+	std::vector<std::string> taskId_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATEAPPLYRESULTSREQUEST_H_

+ 72 - 0
swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateApplyResultsResult.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_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATEAPPLYRESULTSRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATEAPPLYRESULTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT DescribeFirewallTemplateApplyResultsResult : public ServiceResult
+			{
+			public:
+				struct ApplyFirewallTemplateResult
+				{
+					struct ApplyInstanceResult
+					{
+						std::string status;
+						std::string instanceId;
+					};
+					std::string status;
+					std::vector<ApplyFirewallTemplateResult::ApplyInstanceResult> instanceApplyResults;
+					std::string totalCount;
+					std::string taskId;
+					std::string createTime;
+					std::string firewallTemplateId;
+					std::string failedCount;
+				};
+
+
+				DescribeFirewallTemplateApplyResultsResult();
+				explicit DescribeFirewallTemplateApplyResultsResult(const std::string &payload);
+				~DescribeFirewallTemplateApplyResultsResult();
+				std::string getTotalCount()const;
+				std::vector<ApplyFirewallTemplateResult> getdata()const;
+				std::string getPageSize()const;
+				std::string getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string totalCount_;
+				std::vector<ApplyFirewallTemplateResult> data_;
+				std::string pageSize_;
+				std::string pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATEAPPLYRESULTSRESULT_H_

+ 54 - 0
swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATERULESAPPLYRESULTREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATERULESAPPLYRESULTREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT DescribeFirewallTemplateRulesApplyResultRequest : public RpcServiceRequest {
+public:
+	DescribeFirewallTemplateRulesApplyResultRequest();
+	~DescribeFirewallTemplateRulesApplyResultRequest();
+	std::string getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::string &firewallTemplateId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+
+private:
+	std::string firewallTemplateId_;
+	std::string clientToken_;
+	std::string instanceId_;
+	std::string regionId_;
+	std::string taskId_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATERULESAPPLYRESULTREQUEST_H_

+ 61 - 0
swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultResult.h

@@ -0,0 +1,61 @@
+/*
+ * 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_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATERULESAPPLYRESULTRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATERULESAPPLYRESULTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT DescribeFirewallTemplateRulesApplyResultResult : public ServiceResult
+			{
+			public:
+				struct InstanceApplyFirewallTemplateRulesResult
+				{
+					std::string port;
+					std::string sourceCidrIp;
+					std::string errorInfo;
+					std::string ruleProtocol;
+					std::string errorCode;
+					bool success;
+					std::string remark;
+				};
+
+
+				DescribeFirewallTemplateRulesApplyResultResult();
+				explicit DescribeFirewallTemplateRulesApplyResultResult(const std::string &payload);
+				~DescribeFirewallTemplateRulesApplyResultResult();
+				std::vector<InstanceApplyFirewallTemplateRulesResult> getdata()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<InstanceApplyFirewallTemplateRulesResult> data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATERULESAPPLYRESULTRESULT_H_

+ 54 - 0
swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplatesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATESREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT DescribeFirewallTemplatesRequest : public RpcServiceRequest {
+public:
+	DescribeFirewallTemplatesRequest();
+	~DescribeFirewallTemplatesRequest();
+	std::vector<std::string> getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::vector<std::string> &firewallTemplateId);
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getName() const;
+	void setName(const std::string &name);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	std::vector<std::string> firewallTemplateId_;
+	int pageNumber_;
+	std::string regionId_;
+	std::string name_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATESREQUEST_H_

+ 74 - 0
swas-open/include/alibabacloud/swas-open/model/DescribeFirewallTemplatesResult.h

@@ -0,0 +1,74 @@
+/*
+ * 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_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATESRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT DescribeFirewallTemplatesResult : public ServiceResult
+			{
+			public:
+				struct FirewallTemplate
+				{
+					struct FirewallTemplateRule
+					{
+						std::string firewallTemplateRuleId;
+						std::string port;
+						std::string sourceCidrIp;
+						std::string ruleProtocol;
+						std::string remark;
+					};
+					std::vector<FirewallTemplate::FirewallTemplateRule> firewallTemplateRules;
+					std::string description;
+					std::string createTime;
+					std::string creationTime;
+					std::string firewallTemplateId;
+					std::string name;
+				};
+
+
+				DescribeFirewallTemplatesResult();
+				explicit DescribeFirewallTemplatesResult(const std::string &payload);
+				~DescribeFirewallTemplatesResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				std::vector<FirewallTemplate> getFirewallTemplates()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				std::vector<FirewallTemplate> firewallTemplates_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_DESCRIBEFIREWALLTEMPLATESRESULT_H_

+ 54 - 0
swas-open/include/alibabacloud/swas-open/model/ListCustomImageShareAccountsRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_SWAS_OPEN_MODEL_LISTCUSTOMIMAGESHAREACCOUNTSREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_LISTCUSTOMIMAGESHAREACCOUNTSREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT ListCustomImageShareAccountsRequest : public RpcServiceRequest {
+public:
+	ListCustomImageShareAccountsRequest();
+	~ListCustomImageShareAccountsRequest();
+	std::string getImageId() const;
+	void setImageId(const std::string &imageId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	std::string imageId_;
+	std::string clientToken_;
+	int pageNumber_;
+	std::string regionId_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_LISTCUSTOMIMAGESHAREACCOUNTSREQUEST_H_

+ 62 - 0
swas-open/include/alibabacloud/swas-open/model/ListCustomImageShareAccountsResult.h

@@ -0,0 +1,62 @@
+/*
+ * 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_SWAS_OPEN_MODEL_LISTCUSTOMIMAGESHAREACCOUNTSRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_LISTCUSTOMIMAGESHAREACCOUNTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT ListCustomImageShareAccountsResult : public ServiceResult
+			{
+			public:
+				struct ImageShareUser
+				{
+					std::string sharedTime;
+					long userId;
+				};
+
+
+				ListCustomImageShareAccountsResult();
+				explicit ListCustomImageShareAccountsResult(const std::string &payload);
+				~ListCustomImageShareAccountsResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<ImageShareUser> getImageShareUsers()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<ImageShareUser> imageShareUsers_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_LISTCUSTOMIMAGESHAREACCOUNTSRESULT_H_

+ 6 - 0
swas-open/include/alibabacloud/swas-open/model/ListCustomImagesRequest.h

@@ -50,8 +50,12 @@ public:
 	void setRegionId(const std::string &regionId);
 	int getPageSize() const;
 	void setPageSize(int pageSize);
+	bool getShare() const;
+	void setShare(bool share);
 	std::vector<Tag> getTag() const;
 	void setTag(const std::vector<Tag> &tag);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
 	std::string getImageIds() const;
 	void setImageIds(const std::string &imageIds);
 
@@ -64,7 +68,9 @@ private:
 	std::string resourceGroupId_;
 	std::string regionId_;
 	int pageSize_;
+	bool share_;
 	std::vector<Tag> tag_;
+	std::string instanceId_;
 	std::string imageIds_;
 };
 } // namespace Model

+ 4 - 0
swas-open/include/alibabacloud/swas-open/model/ListCustomImagesResult.h

@@ -44,14 +44,18 @@ namespace AlibabaCloud
 					bool inShare;
 					std::string resourceGroupId;
 					std::string instanceId;
+					bool inShareUser;
 					std::string systemSnapshotId;
 					std::string systemSnapshotName;
 					std::string dataSnapshotId;
 					std::string name;
 					std::string dataSnapshotName;
 					std::string instanceName;
+					std::string osType;
+					long userId;
 					std::string creationTime;
 					std::string imageId;
+					std::vector<std::string> createInstances;
 					std::string regionId;
 					std::vector<CustomImage::Tag> tags;
 				};

+ 3 - 0
swas-open/include/alibabacloud/swas-open/model/LoginInstanceRequest.h

@@ -36,6 +36,8 @@ public:
 	void setInstanceId(const std::string &instanceId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
+	int getPort() const;
+	void setPort(int port);
 	std::string getUsername() const;
 	void setUsername(const std::string &username);
 
@@ -43,6 +45,7 @@ private:
 	std::string password_;
 	std::string instanceId_;
 	std::string regionId_;
+	int port_;
 	std::string username_;
 };
 } // namespace Model

+ 67 - 0
swas-open/include/alibabacloud/swas-open/model/ModifyFirewallTemplateRequest.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_SWAS_OPEN_MODEL_MODIFYFIREWALLTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_MODIFYFIREWALLTEMPLATEREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT ModifyFirewallTemplateRequest : public RpcServiceRequest {
+public:
+	struct FirewallTemplateRule {
+		std::string firewallTemplateRuleId;
+		std::string ruleProtocol;
+		std::string port;
+		std::string sourceCidrIp;
+		std::string remark;
+	};
+	ModifyFirewallTemplateRequest();
+	~ModifyFirewallTemplateRequest();
+	std::string getFirewallTemplateId() const;
+	void setFirewallTemplateId(const std::string &firewallTemplateId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<FirewallTemplateRule> getFirewallTemplateRule() const;
+	void setFirewallTemplateRule(const std::vector<FirewallTemplateRule> &firewallTemplateRule);
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	std::string firewallTemplateId_;
+	std::string clientToken_;
+	std::string description_;
+	std::string instanceId_;
+	std::string regionId_;
+	std::vector<FirewallTemplateRule> firewallTemplateRule_;
+	std::string name_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_MODIFYFIREWALLTEMPLATEREQUEST_H_

+ 49 - 0
swas-open/include/alibabacloud/swas-open/model/ModifyFirewallTemplateResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_MODIFYFIREWALLTEMPLATERESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_MODIFYFIREWALLTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT ModifyFirewallTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyFirewallTemplateResult();
+				explicit ModifyFirewallTemplateResult(const std::string &payload);
+				~ModifyFirewallTemplateResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_MODIFYFIREWALLTEMPLATERESULT_H_

+ 51 - 0
swas-open/include/alibabacloud/swas-open/model/RemoveCustomImageShareAccountRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_REMOVECUSTOMIMAGESHAREACCOUNTREQUEST_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_REMOVECUSTOMIMAGESHAREACCOUNTREQUEST_H_
+
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace SWAS_OPEN {
+namespace Model {
+class ALIBABACLOUD_SWAS_OPEN_EXPORT RemoveCustomImageShareAccountRequest : public RpcServiceRequest {
+public:
+	RemoveCustomImageShareAccountRequest();
+	~RemoveCustomImageShareAccountRequest();
+	std::string getImageId() const;
+	void setImageId(const std::string &imageId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<long> getAccount() const;
+	void setAccount(const std::vector<long> &account);
+
+private:
+	std::string imageId_;
+	std::string clientToken_;
+	std::string regionId_;
+	std::vector<long> account_;
+};
+} // namespace Model
+} // namespace SWAS_OPEN
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_REMOVECUSTOMIMAGESHAREACCOUNTREQUEST_H_

+ 49 - 0
swas-open/include/alibabacloud/swas-open/model/RemoveCustomImageShareAccountResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SWAS_OPEN_MODEL_REMOVECUSTOMIMAGESHAREACCOUNTRESULT_H_
+#define ALIBABACLOUD_SWAS_OPEN_MODEL_REMOVECUSTOMIMAGESHAREACCOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/swas-open/SWAS_OPENExport.h>
+
+namespace AlibabaCloud
+{
+	namespace SWAS_OPEN
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SWAS_OPEN_EXPORT RemoveCustomImageShareAccountResult : public ServiceResult
+			{
+			public:
+
+
+				RemoveCustomImageShareAccountResult();
+				explicit RemoveCustomImageShareAccountResult(const std::string &payload);
+				~RemoveCustomImageShareAccountResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SWAS_OPEN_MODEL_REMOVECUSTOMIMAGESHAREACCOUNTRESULT_H_

+ 432 - 0
swas-open/src/SWAS-OPENClient.cc

@@ -51,6 +51,42 @@ SWAS_OPENClient::SWAS_OPENClient(const std::string & accessKeyId, const std::str
 SWAS_OPENClient::~SWAS_OPENClient()
 {}
 
+SWAS_OPENClient::AddCustomImageShareAccountOutcome SWAS_OPENClient::addCustomImageShareAccount(const AddCustomImageShareAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddCustomImageShareAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddCustomImageShareAccountOutcome(AddCustomImageShareAccountResult(outcome.result()));
+	else
+		return AddCustomImageShareAccountOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::addCustomImageShareAccountAsync(const AddCustomImageShareAccountRequest& request, const AddCustomImageShareAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addCustomImageShareAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::AddCustomImageShareAccountOutcomeCallable SWAS_OPENClient::addCustomImageShareAccountCallable(const AddCustomImageShareAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddCustomImageShareAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->addCustomImageShareAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::AllocatePublicConnectionOutcome SWAS_OPENClient::allocatePublicConnection(const AllocatePublicConnectionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -87,6 +123,42 @@ SWAS_OPENClient::AllocatePublicConnectionOutcomeCallable SWAS_OPENClient::alloca
 	return task->get_future();
 }
 
+SWAS_OPENClient::ApplyFirewallTemplateOutcome SWAS_OPENClient::applyFirewallTemplate(const ApplyFirewallTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ApplyFirewallTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ApplyFirewallTemplateOutcome(ApplyFirewallTemplateResult(outcome.result()));
+	else
+		return ApplyFirewallTemplateOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::applyFirewallTemplateAsync(const ApplyFirewallTemplateRequest& request, const ApplyFirewallTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, applyFirewallTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::ApplyFirewallTemplateOutcomeCallable SWAS_OPENClient::applyFirewallTemplateCallable(const ApplyFirewallTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ApplyFirewallTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->applyFirewallTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::AttachKeyPairOutcome SWAS_OPENClient::attachKeyPair(const AttachKeyPairRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -267,6 +339,78 @@ SWAS_OPENClient::CreateFirewallRulesOutcomeCallable SWAS_OPENClient::createFirew
 	return task->get_future();
 }
 
+SWAS_OPENClient::CreateFirewallTemplateOutcome SWAS_OPENClient::createFirewallTemplate(const CreateFirewallTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateFirewallTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateFirewallTemplateOutcome(CreateFirewallTemplateResult(outcome.result()));
+	else
+		return CreateFirewallTemplateOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::createFirewallTemplateAsync(const CreateFirewallTemplateRequest& request, const CreateFirewallTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createFirewallTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::CreateFirewallTemplateOutcomeCallable SWAS_OPENClient::createFirewallTemplateCallable(const CreateFirewallTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateFirewallTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->createFirewallTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SWAS_OPENClient::CreateFirewallTemplateRulesOutcome SWAS_OPENClient::createFirewallTemplateRules(const CreateFirewallTemplateRulesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateFirewallTemplateRulesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateFirewallTemplateRulesOutcome(CreateFirewallTemplateRulesResult(outcome.result()));
+	else
+		return CreateFirewallTemplateRulesOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::createFirewallTemplateRulesAsync(const CreateFirewallTemplateRulesRequest& request, const CreateFirewallTemplateRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createFirewallTemplateRules(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::CreateFirewallTemplateRulesOutcomeCallable SWAS_OPENClient::createFirewallTemplateRulesCallable(const CreateFirewallTemplateRulesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateFirewallTemplateRulesOutcome()>>(
+			[this, request]()
+			{
+			return this->createFirewallTemplateRules(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::CreateInstanceKeyPairOutcome SWAS_OPENClient::createInstanceKeyPair(const CreateInstanceKeyPairRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -591,6 +735,78 @@ SWAS_OPENClient::DeleteFirewallRulesOutcomeCallable SWAS_OPENClient::deleteFirew
 	return task->get_future();
 }
 
+SWAS_OPENClient::DeleteFirewallTemplateRulesOutcome SWAS_OPENClient::deleteFirewallTemplateRules(const DeleteFirewallTemplateRulesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteFirewallTemplateRulesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteFirewallTemplateRulesOutcome(DeleteFirewallTemplateRulesResult(outcome.result()));
+	else
+		return DeleteFirewallTemplateRulesOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::deleteFirewallTemplateRulesAsync(const DeleteFirewallTemplateRulesRequest& request, const DeleteFirewallTemplateRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteFirewallTemplateRules(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::DeleteFirewallTemplateRulesOutcomeCallable SWAS_OPENClient::deleteFirewallTemplateRulesCallable(const DeleteFirewallTemplateRulesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteFirewallTemplateRulesOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteFirewallTemplateRules(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SWAS_OPENClient::DeleteFirewallTemplatesOutcome SWAS_OPENClient::deleteFirewallTemplates(const DeleteFirewallTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteFirewallTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteFirewallTemplatesOutcome(DeleteFirewallTemplatesResult(outcome.result()));
+	else
+		return DeleteFirewallTemplatesOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::deleteFirewallTemplatesAsync(const DeleteFirewallTemplatesRequest& request, const DeleteFirewallTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteFirewallTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::DeleteFirewallTemplatesOutcomeCallable SWAS_OPENClient::deleteFirewallTemplatesCallable(const DeleteFirewallTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteFirewallTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteFirewallTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::DeleteInstanceKeyPairOutcome SWAS_OPENClient::deleteInstanceKeyPair(const DeleteInstanceKeyPairRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1095,6 +1311,114 @@ SWAS_OPENClient::DescribeDatabaseSlowLogRecordsOutcomeCallable SWAS_OPENClient::
 	return task->get_future();
 }
 
+SWAS_OPENClient::DescribeFirewallTemplateApplyResultsOutcome SWAS_OPENClient::describeFirewallTemplateApplyResults(const DescribeFirewallTemplateApplyResultsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFirewallTemplateApplyResultsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFirewallTemplateApplyResultsOutcome(DescribeFirewallTemplateApplyResultsResult(outcome.result()));
+	else
+		return DescribeFirewallTemplateApplyResultsOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::describeFirewallTemplateApplyResultsAsync(const DescribeFirewallTemplateApplyResultsRequest& request, const DescribeFirewallTemplateApplyResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFirewallTemplateApplyResults(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::DescribeFirewallTemplateApplyResultsOutcomeCallable SWAS_OPENClient::describeFirewallTemplateApplyResultsCallable(const DescribeFirewallTemplateApplyResultsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFirewallTemplateApplyResultsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFirewallTemplateApplyResults(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SWAS_OPENClient::DescribeFirewallTemplateRulesApplyResultOutcome SWAS_OPENClient::describeFirewallTemplateRulesApplyResult(const DescribeFirewallTemplateRulesApplyResultRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFirewallTemplateRulesApplyResultOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFirewallTemplateRulesApplyResultOutcome(DescribeFirewallTemplateRulesApplyResultResult(outcome.result()));
+	else
+		return DescribeFirewallTemplateRulesApplyResultOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::describeFirewallTemplateRulesApplyResultAsync(const DescribeFirewallTemplateRulesApplyResultRequest& request, const DescribeFirewallTemplateRulesApplyResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFirewallTemplateRulesApplyResult(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::DescribeFirewallTemplateRulesApplyResultOutcomeCallable SWAS_OPENClient::describeFirewallTemplateRulesApplyResultCallable(const DescribeFirewallTemplateRulesApplyResultRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFirewallTemplateRulesApplyResultOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFirewallTemplateRulesApplyResult(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SWAS_OPENClient::DescribeFirewallTemplatesOutcome SWAS_OPENClient::describeFirewallTemplates(const DescribeFirewallTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFirewallTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFirewallTemplatesOutcome(DescribeFirewallTemplatesResult(outcome.result()));
+	else
+		return DescribeFirewallTemplatesOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::describeFirewallTemplatesAsync(const DescribeFirewallTemplatesRequest& request, const DescribeFirewallTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFirewallTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::DescribeFirewallTemplatesOutcomeCallable SWAS_OPENClient::describeFirewallTemplatesCallable(const DescribeFirewallTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFirewallTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFirewallTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::DescribeInstanceKeyPairOutcome SWAS_OPENClient::describeInstanceKeyPair(const DescribeInstanceKeyPairRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1599,6 +1923,42 @@ SWAS_OPENClient::InvokeCommandOutcomeCallable SWAS_OPENClient::invokeCommandCall
 	return task->get_future();
 }
 
+SWAS_OPENClient::ListCustomImageShareAccountsOutcome SWAS_OPENClient::listCustomImageShareAccounts(const ListCustomImageShareAccountsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListCustomImageShareAccountsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListCustomImageShareAccountsOutcome(ListCustomImageShareAccountsResult(outcome.result()));
+	else
+		return ListCustomImageShareAccountsOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::listCustomImageShareAccountsAsync(const ListCustomImageShareAccountsRequest& request, const ListCustomImageShareAccountsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listCustomImageShareAccounts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::ListCustomImageShareAccountsOutcomeCallable SWAS_OPENClient::listCustomImageShareAccountsCallable(const ListCustomImageShareAccountsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListCustomImageShareAccountsOutcome()>>(
+			[this, request]()
+			{
+			return this->listCustomImageShareAccounts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::ListCustomImagesOutcome SWAS_OPENClient::listCustomImages(const ListCustomImagesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2211,6 +2571,42 @@ SWAS_OPENClient::ModifyFirewallRuleOutcomeCallable SWAS_OPENClient::modifyFirewa
 	return task->get_future();
 }
 
+SWAS_OPENClient::ModifyFirewallTemplateOutcome SWAS_OPENClient::modifyFirewallTemplate(const ModifyFirewallTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyFirewallTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyFirewallTemplateOutcome(ModifyFirewallTemplateResult(outcome.result()));
+	else
+		return ModifyFirewallTemplateOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::modifyFirewallTemplateAsync(const ModifyFirewallTemplateRequest& request, const ModifyFirewallTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyFirewallTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::ModifyFirewallTemplateOutcomeCallable SWAS_OPENClient::modifyFirewallTemplateCallable(const ModifyFirewallTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyFirewallTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyFirewallTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::ModifyImageShareStatusOutcome SWAS_OPENClient::modifyImageShareStatus(const ModifyImageShareStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2391,6 +2787,42 @@ SWAS_OPENClient::ReleasePublicConnectionOutcomeCallable SWAS_OPENClient::release
 	return task->get_future();
 }
 
+SWAS_OPENClient::RemoveCustomImageShareAccountOutcome SWAS_OPENClient::removeCustomImageShareAccount(const RemoveCustomImageShareAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RemoveCustomImageShareAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RemoveCustomImageShareAccountOutcome(RemoveCustomImageShareAccountResult(outcome.result()));
+	else
+		return RemoveCustomImageShareAccountOutcome(outcome.error());
+}
+
+void SWAS_OPENClient::removeCustomImageShareAccountAsync(const RemoveCustomImageShareAccountRequest& request, const RemoveCustomImageShareAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, removeCustomImageShareAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SWAS_OPENClient::RemoveCustomImageShareAccountOutcomeCallable SWAS_OPENClient::removeCustomImageShareAccountCallable(const RemoveCustomImageShareAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RemoveCustomImageShareAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->removeCustomImageShareAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SWAS_OPENClient::RenewInstanceOutcome SWAS_OPENClient::renewInstance(const RenewInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 62 - 0
swas-open/src/model/AddCustomImageShareAccountRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/swas-open/model/AddCustomImageShareAccountRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::AddCustomImageShareAccountRequest;
+
+AddCustomImageShareAccountRequest::AddCustomImageShareAccountRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "AddCustomImageShareAccount") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+AddCustomImageShareAccountRequest::~AddCustomImageShareAccountRequest() {}
+
+std::string AddCustomImageShareAccountRequest::getImageId() const {
+  return imageId_;
+}
+
+void AddCustomImageShareAccountRequest::setImageId(const std::string &imageId) {
+  imageId_ = imageId;
+  setParameter(std::string("ImageId"), imageId);
+}
+
+std::string AddCustomImageShareAccountRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void AddCustomImageShareAccountRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string AddCustomImageShareAccountRequest::getRegionId() const {
+  return regionId_;
+}
+
+void AddCustomImageShareAccountRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<long> AddCustomImageShareAccountRequest::getAccount() const {
+  return account_;
+}
+
+void AddCustomImageShareAccountRequest::setAccount(const std::vector<long> &account) {
+  account_ = account;
+}
+

+ 44 - 0
swas-open/src/model/AddCustomImageShareAccountResult.cc

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

+ 71 - 0
swas-open/src/model/ApplyFirewallTemplateRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * 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/swas-open/model/ApplyFirewallTemplateRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::ApplyFirewallTemplateRequest;
+
+ApplyFirewallTemplateRequest::ApplyFirewallTemplateRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "ApplyFirewallTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ApplyFirewallTemplateRequest::~ApplyFirewallTemplateRequest() {}
+
+std::string ApplyFirewallTemplateRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void ApplyFirewallTemplateRequest::setFirewallTemplateId(const std::string &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+  setParameter(std::string("FirewallTemplateId"), firewallTemplateId);
+}
+
+std::string ApplyFirewallTemplateRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void ApplyFirewallTemplateRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string ApplyFirewallTemplateRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void ApplyFirewallTemplateRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string ApplyFirewallTemplateRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ApplyFirewallTemplateRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<std::string> ApplyFirewallTemplateRequest::getInstanceIds() const {
+  return instanceIds_;
+}
+
+void ApplyFirewallTemplateRequest::setInstanceIds(const std::vector<std::string> &instanceIds) {
+  instanceIds_ = instanceIds;
+}
+

+ 51 - 0
swas-open/src/model/ApplyFirewallTemplateResult.cc

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

+ 70 - 0
swas-open/src/model/CreateFirewallTemplateRequest.cc

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/swas-open/model/CreateFirewallTemplateRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::CreateFirewallTemplateRequest;
+
+CreateFirewallTemplateRequest::CreateFirewallTemplateRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "CreateFirewallTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateFirewallTemplateRequest::~CreateFirewallTemplateRequest() {}
+
+std::string CreateFirewallTemplateRequest::getDescription() const {
+  return description_;
+}
+
+void CreateFirewallTemplateRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+std::string CreateFirewallTemplateRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateFirewallTemplateRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string CreateFirewallTemplateRequest::getName() const {
+  return name_;
+}
+
+void CreateFirewallTemplateRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
+}
+
+std::vector<CreateFirewallTemplateRequest::FirewallRule> CreateFirewallTemplateRequest::getFirewallRule() const {
+  return firewallRule_;
+}
+
+void CreateFirewallTemplateRequest::setFirewallRule(const std::vector<CreateFirewallTemplateRequest::FirewallRule> &firewallRule) {
+  firewallRule_ = firewallRule;
+  for(int dep1 = 0; dep1 != firewallRule.size(); dep1++) {
+  auto firewallRuleObj = firewallRule.at(dep1);
+  std::string firewallRuleObjStr = std::string("FirewallRule") + "." + std::to_string(dep1 + 1);
+    setParameter(firewallRuleObjStr + ".RuleProtocol", firewallRuleObj.ruleProtocol);
+    setParameter(firewallRuleObjStr + ".Port", firewallRuleObj.port);
+    setParameter(firewallRuleObjStr + ".SourceCidrIp", firewallRuleObj.sourceCidrIp);
+    setParameter(firewallRuleObjStr + ".Remark", firewallRuleObj.remark);
+  }
+}
+

+ 51 - 0
swas-open/src/model/CreateFirewallTemplateResult.cc

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

+ 61 - 0
swas-open/src/model/CreateFirewallTemplateRulesRequest.cc

@@ -0,0 +1,61 @@
+/*
+ * 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/swas-open/model/CreateFirewallTemplateRulesRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::CreateFirewallTemplateRulesRequest;
+
+CreateFirewallTemplateRulesRequest::CreateFirewallTemplateRulesRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "CreateFirewallTemplateRules") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateFirewallTemplateRulesRequest::~CreateFirewallTemplateRulesRequest() {}
+
+std::string CreateFirewallTemplateRulesRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void CreateFirewallTemplateRulesRequest::setFirewallTemplateId(const std::string &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+  setParameter(std::string("FirewallTemplateId"), firewallTemplateId);
+}
+
+std::string CreateFirewallTemplateRulesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateFirewallTemplateRulesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<CreateFirewallTemplateRulesRequest::FirewallRule> CreateFirewallTemplateRulesRequest::getFirewallRule() const {
+  return firewallRule_;
+}
+
+void CreateFirewallTemplateRulesRequest::setFirewallRule(const std::vector<CreateFirewallTemplateRulesRequest::FirewallRule> &firewallRule) {
+  firewallRule_ = firewallRule;
+  for(int dep1 = 0; dep1 != firewallRule.size(); dep1++) {
+  auto firewallRuleObj = firewallRule.at(dep1);
+  std::string firewallRuleObjStr = std::string("FirewallRule") + "." + std::to_string(dep1 + 1);
+    setParameter(firewallRuleObjStr + ".RuleProtocol", firewallRuleObj.ruleProtocol);
+    setParameter(firewallRuleObjStr + ".Port", firewallRuleObj.port);
+    setParameter(firewallRuleObjStr + ".SourceCidrIp", firewallRuleObj.sourceCidrIp);
+    setParameter(firewallRuleObjStr + ".Remark", firewallRuleObj.remark);
+  }
+}
+

+ 65 - 0
swas-open/src/model/CreateFirewallTemplateRulesResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/swas-open/model/CreateFirewallTemplateRulesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::SWAS_OPEN;
+using namespace AlibabaCloud::SWAS_OPEN::Model;
+
+CreateFirewallTemplateRulesResult::CreateFirewallTemplateRulesResult() :
+	ServiceResult()
+{}
+
+CreateFirewallTemplateRulesResult::CreateFirewallTemplateRulesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateFirewallTemplateRulesResult::~CreateFirewallTemplateRulesResult()
+{}
+
+void CreateFirewallTemplateRulesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allFirewallTemplateRulesNode = value["FirewallTemplateRules"]["FirewallTemplateRule"];
+	for (auto valueFirewallTemplateRulesFirewallTemplateRule : allFirewallTemplateRulesNode)
+	{
+		FirewallTemplateRule firewallTemplateRulesObject;
+		if(!valueFirewallTemplateRulesFirewallTemplateRule["FirewallTemplateRuleId"].isNull())
+			firewallTemplateRulesObject.firewallTemplateRuleId = valueFirewallTemplateRulesFirewallTemplateRule["FirewallTemplateRuleId"].asString();
+		if(!valueFirewallTemplateRulesFirewallTemplateRule["RuleProtocol"].isNull())
+			firewallTemplateRulesObject.ruleProtocol = valueFirewallTemplateRulesFirewallTemplateRule["RuleProtocol"].asString();
+		if(!valueFirewallTemplateRulesFirewallTemplateRule["Port"].isNull())
+			firewallTemplateRulesObject.port = valueFirewallTemplateRulesFirewallTemplateRule["Port"].asString();
+		if(!valueFirewallTemplateRulesFirewallTemplateRule["SourceCidrIp"].isNull())
+			firewallTemplateRulesObject.sourceCidrIp = valueFirewallTemplateRulesFirewallTemplateRule["SourceCidrIp"].asString();
+		if(!valueFirewallTemplateRulesFirewallTemplateRule["Remark"].isNull())
+			firewallTemplateRulesObject.remark = valueFirewallTemplateRulesFirewallTemplateRule["Remark"].asString();
+		firewallTemplateRules_.push_back(firewallTemplateRulesObject);
+	}
+
+}
+
+std::vector<CreateFirewallTemplateRulesResult::FirewallTemplateRule> CreateFirewallTemplateRulesResult::getFirewallTemplateRules()const
+{
+	return firewallTemplateRules_;
+}
+

+ 71 - 0
swas-open/src/model/DeleteFirewallTemplateRulesRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * 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/swas-open/model/DeleteFirewallTemplateRulesRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::DeleteFirewallTemplateRulesRequest;
+
+DeleteFirewallTemplateRulesRequest::DeleteFirewallTemplateRulesRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "DeleteFirewallTemplateRules") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteFirewallTemplateRulesRequest::~DeleteFirewallTemplateRulesRequest() {}
+
+std::string DeleteFirewallTemplateRulesRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void DeleteFirewallTemplateRulesRequest::setFirewallTemplateId(const std::string &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+  setParameter(std::string("FirewallTemplateId"), firewallTemplateId);
+}
+
+std::string DeleteFirewallTemplateRulesRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DeleteFirewallTemplateRulesRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DeleteFirewallTemplateRulesRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DeleteFirewallTemplateRulesRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DeleteFirewallTemplateRulesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DeleteFirewallTemplateRulesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<std::string> DeleteFirewallTemplateRulesRequest::getFirewallTemplateRuleId() const {
+  return firewallTemplateRuleId_;
+}
+
+void DeleteFirewallTemplateRulesRequest::setFirewallTemplateRuleId(const std::vector<std::string> &firewallTemplateRuleId) {
+  firewallTemplateRuleId_ = firewallTemplateRuleId;
+}
+

+ 44 - 0
swas-open/src/model/DeleteFirewallTemplateRulesResult.cc

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

+ 62 - 0
swas-open/src/model/DeleteFirewallTemplatesRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/swas-open/model/DeleteFirewallTemplatesRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::DeleteFirewallTemplatesRequest;
+
+DeleteFirewallTemplatesRequest::DeleteFirewallTemplatesRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "DeleteFirewallTemplates") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteFirewallTemplatesRequest::~DeleteFirewallTemplatesRequest() {}
+
+std::vector<std::string> DeleteFirewallTemplatesRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void DeleteFirewallTemplatesRequest::setFirewallTemplateId(const std::vector<std::string> &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+}
+
+std::string DeleteFirewallTemplatesRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DeleteFirewallTemplatesRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DeleteFirewallTemplatesRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DeleteFirewallTemplatesRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DeleteFirewallTemplatesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DeleteFirewallTemplatesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

+ 44 - 0
swas-open/src/model/DeleteFirewallTemplatesResult.cc

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

+ 89 - 0
swas-open/src/model/DescribeFirewallTemplateApplyResultsRequest.cc

@@ -0,0 +1,89 @@
+/*
+ * 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/swas-open/model/DescribeFirewallTemplateApplyResultsRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::DescribeFirewallTemplateApplyResultsRequest;
+
+DescribeFirewallTemplateApplyResultsRequest::DescribeFirewallTemplateApplyResultsRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "DescribeFirewallTemplateApplyResults") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeFirewallTemplateApplyResultsRequest::~DescribeFirewallTemplateApplyResultsRequest() {}
+
+std::string DescribeFirewallTemplateApplyResultsRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setFirewallTemplateId(const std::string &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+  setParameter(std::string("FirewallTemplateId"), firewallTemplateId);
+}
+
+std::string DescribeFirewallTemplateApplyResultsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+int DescribeFirewallTemplateApplyResultsRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+std::string DescribeFirewallTemplateApplyResultsRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DescribeFirewallTemplateApplyResultsRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int DescribeFirewallTemplateApplyResultsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::vector<std::string> DescribeFirewallTemplateApplyResultsRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DescribeFirewallTemplateApplyResultsRequest::setTaskId(const std::vector<std::string> &taskId) {
+  taskId_ = taskId;
+}
+

+ 98 - 0
swas-open/src/model/DescribeFirewallTemplateApplyResultsResult.cc

@@ -0,0 +1,98 @@
+/*
+ * 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/swas-open/model/DescribeFirewallTemplateApplyResultsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::SWAS_OPEN;
+using namespace AlibabaCloud::SWAS_OPEN::Model;
+
+DescribeFirewallTemplateApplyResultsResult::DescribeFirewallTemplateApplyResultsResult() :
+	ServiceResult()
+{}
+
+DescribeFirewallTemplateApplyResultsResult::DescribeFirewallTemplateApplyResultsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFirewallTemplateApplyResultsResult::~DescribeFirewallTemplateApplyResultsResult()
+{}
+
+void DescribeFirewallTemplateApplyResultsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto alldataNode = value["data"]["ApplyFirewallTemplateResult"];
+	for (auto valuedataApplyFirewallTemplateResult : alldataNode)
+	{
+		ApplyFirewallTemplateResult dataObject;
+		if(!valuedataApplyFirewallTemplateResult["TaskId"].isNull())
+			dataObject.taskId = valuedataApplyFirewallTemplateResult["TaskId"].asString();
+		if(!valuedataApplyFirewallTemplateResult["FirewallTemplateId"].isNull())
+			dataObject.firewallTemplateId = valuedataApplyFirewallTemplateResult["FirewallTemplateId"].asString();
+		if(!valuedataApplyFirewallTemplateResult["Status"].isNull())
+			dataObject.status = valuedataApplyFirewallTemplateResult["Status"].asString();
+		if(!valuedataApplyFirewallTemplateResult["TotalCount"].isNull())
+			dataObject.totalCount = valuedataApplyFirewallTemplateResult["TotalCount"].asString();
+		if(!valuedataApplyFirewallTemplateResult["FailedCount"].isNull())
+			dataObject.failedCount = valuedataApplyFirewallTemplateResult["FailedCount"].asString();
+		if(!valuedataApplyFirewallTemplateResult["CreateTime"].isNull())
+			dataObject.createTime = valuedataApplyFirewallTemplateResult["CreateTime"].asString();
+		auto allInstanceApplyResultsNode = valuedataApplyFirewallTemplateResult["InstanceApplyResults"]["ApplyInstanceResult"];
+		for (auto valuedataApplyFirewallTemplateResultInstanceApplyResultsApplyInstanceResult : allInstanceApplyResultsNode)
+		{
+			ApplyFirewallTemplateResult::ApplyInstanceResult instanceApplyResultsObject;
+			if(!valuedataApplyFirewallTemplateResultInstanceApplyResultsApplyInstanceResult["InstanceId"].isNull())
+				instanceApplyResultsObject.instanceId = valuedataApplyFirewallTemplateResultInstanceApplyResultsApplyInstanceResult["InstanceId"].asString();
+			if(!valuedataApplyFirewallTemplateResultInstanceApplyResultsApplyInstanceResult["Status"].isNull())
+				instanceApplyResultsObject.status = valuedataApplyFirewallTemplateResultInstanceApplyResultsApplyInstanceResult["Status"].asString();
+			dataObject.instanceApplyResults.push_back(instanceApplyResultsObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = value["PageNumber"].asString();
+	if(!value["PageSize"].isNull())
+		pageSize_ = value["PageSize"].asString();
+	if(!value["TotalCount"].isNull())
+		totalCount_ = value["TotalCount"].asString();
+
+}
+
+std::string DescribeFirewallTemplateApplyResultsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeFirewallTemplateApplyResultsResult::ApplyFirewallTemplateResult> DescribeFirewallTemplateApplyResultsResult::getdata()const
+{
+	return data_;
+}
+
+std::string DescribeFirewallTemplateApplyResultsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::string DescribeFirewallTemplateApplyResultsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 72 - 0
swas-open/src/model/DescribeFirewallTemplateRulesApplyResultRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/swas-open/model/DescribeFirewallTemplateRulesApplyResultRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::DescribeFirewallTemplateRulesApplyResultRequest;
+
+DescribeFirewallTemplateRulesApplyResultRequest::DescribeFirewallTemplateRulesApplyResultRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "DescribeFirewallTemplateRulesApplyResult") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeFirewallTemplateRulesApplyResultRequest::~DescribeFirewallTemplateRulesApplyResultRequest() {}
+
+std::string DescribeFirewallTemplateRulesApplyResultRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void DescribeFirewallTemplateRulesApplyResultRequest::setFirewallTemplateId(const std::string &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+  setParameter(std::string("FirewallTemplateId"), firewallTemplateId);
+}
+
+std::string DescribeFirewallTemplateRulesApplyResultRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DescribeFirewallTemplateRulesApplyResultRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DescribeFirewallTemplateRulesApplyResultRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeFirewallTemplateRulesApplyResultRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DescribeFirewallTemplateRulesApplyResultRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeFirewallTemplateRulesApplyResultRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeFirewallTemplateRulesApplyResultRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DescribeFirewallTemplateRulesApplyResultRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+

+ 69 - 0
swas-open/src/model/DescribeFirewallTemplateRulesApplyResultResult.cc

@@ -0,0 +1,69 @@
+/*
+ * 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/swas-open/model/DescribeFirewallTemplateRulesApplyResultResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::SWAS_OPEN;
+using namespace AlibabaCloud::SWAS_OPEN::Model;
+
+DescribeFirewallTemplateRulesApplyResultResult::DescribeFirewallTemplateRulesApplyResultResult() :
+	ServiceResult()
+{}
+
+DescribeFirewallTemplateRulesApplyResultResult::DescribeFirewallTemplateRulesApplyResultResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFirewallTemplateRulesApplyResultResult::~DescribeFirewallTemplateRulesApplyResultResult()
+{}
+
+void DescribeFirewallTemplateRulesApplyResultResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto alldataNode = value["data"]["InstanceApplyFirewallTemplateRulesResult"];
+	for (auto valuedataInstanceApplyFirewallTemplateRulesResult : alldataNode)
+	{
+		InstanceApplyFirewallTemplateRulesResult dataObject;
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["RuleProtocol"].isNull())
+			dataObject.ruleProtocol = valuedataInstanceApplyFirewallTemplateRulesResult["RuleProtocol"].asString();
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["Port"].isNull())
+			dataObject.port = valuedataInstanceApplyFirewallTemplateRulesResult["Port"].asString();
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["SourceCidrIp"].isNull())
+			dataObject.sourceCidrIp = valuedataInstanceApplyFirewallTemplateRulesResult["SourceCidrIp"].asString();
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["Remark"].isNull())
+			dataObject.remark = valuedataInstanceApplyFirewallTemplateRulesResult["Remark"].asString();
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["Success"].isNull())
+			dataObject.success = valuedataInstanceApplyFirewallTemplateRulesResult["Success"].asString() == "true";
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["ErrorCode"].isNull())
+			dataObject.errorCode = valuedataInstanceApplyFirewallTemplateRulesResult["ErrorCode"].asString();
+		if(!valuedataInstanceApplyFirewallTemplateRulesResult["ErrorInfo"].isNull())
+			dataObject.errorInfo = valuedataInstanceApplyFirewallTemplateRulesResult["ErrorInfo"].asString();
+		data_.push_back(dataObject);
+	}
+
+}
+
+std::vector<DescribeFirewallTemplateRulesApplyResultResult::InstanceApplyFirewallTemplateRulesResult> DescribeFirewallTemplateRulesApplyResultResult::getdata()const
+{
+	return data_;
+}
+

+ 71 - 0
swas-open/src/model/DescribeFirewallTemplatesRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * 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/swas-open/model/DescribeFirewallTemplatesRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::DescribeFirewallTemplatesRequest;
+
+DescribeFirewallTemplatesRequest::DescribeFirewallTemplatesRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "DescribeFirewallTemplates") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeFirewallTemplatesRequest::~DescribeFirewallTemplatesRequest() {}
+
+std::vector<std::string> DescribeFirewallTemplatesRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void DescribeFirewallTemplatesRequest::setFirewallTemplateId(const std::vector<std::string> &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+}
+
+int DescribeFirewallTemplatesRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeFirewallTemplatesRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+std::string DescribeFirewallTemplatesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeFirewallTemplatesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeFirewallTemplatesRequest::getName() const {
+  return name_;
+}
+
+void DescribeFirewallTemplatesRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
+}
+
+int DescribeFirewallTemplatesRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeFirewallTemplatesRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 102 - 0
swas-open/src/model/DescribeFirewallTemplatesResult.cc

@@ -0,0 +1,102 @@
+/*
+ * 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/swas-open/model/DescribeFirewallTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::SWAS_OPEN;
+using namespace AlibabaCloud::SWAS_OPEN::Model;
+
+DescribeFirewallTemplatesResult::DescribeFirewallTemplatesResult() :
+	ServiceResult()
+{}
+
+DescribeFirewallTemplatesResult::DescribeFirewallTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFirewallTemplatesResult::~DescribeFirewallTemplatesResult()
+{}
+
+void DescribeFirewallTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allFirewallTemplatesNode = value["FirewallTemplates"]["firewallTemplate"];
+	for (auto valueFirewallTemplatesfirewallTemplate : allFirewallTemplatesNode)
+	{
+		FirewallTemplate firewallTemplatesObject;
+		if(!valueFirewallTemplatesfirewallTemplate["FirewallTemplateId"].isNull())
+			firewallTemplatesObject.firewallTemplateId = valueFirewallTemplatesfirewallTemplate["FirewallTemplateId"].asString();
+		if(!valueFirewallTemplatesfirewallTemplate["CreationTime"].isNull())
+			firewallTemplatesObject.creationTime = valueFirewallTemplatesfirewallTemplate["CreationTime"].asString();
+		if(!valueFirewallTemplatesfirewallTemplate["Name"].isNull())
+			firewallTemplatesObject.name = valueFirewallTemplatesfirewallTemplate["Name"].asString();
+		if(!valueFirewallTemplatesfirewallTemplate["Description"].isNull())
+			firewallTemplatesObject.description = valueFirewallTemplatesfirewallTemplate["Description"].asString();
+		if(!valueFirewallTemplatesfirewallTemplate["CreateTime"].isNull())
+			firewallTemplatesObject.createTime = valueFirewallTemplatesfirewallTemplate["CreateTime"].asString();
+		auto allFirewallTemplateRulesNode = valueFirewallTemplatesfirewallTemplate["FirewallTemplateRules"]["firewallTemplateRule"];
+		for (auto valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule : allFirewallTemplateRulesNode)
+		{
+			FirewallTemplate::FirewallTemplateRule firewallTemplateRulesObject;
+			if(!valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["FirewallTemplateRuleId"].isNull())
+				firewallTemplateRulesObject.firewallTemplateRuleId = valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["FirewallTemplateRuleId"].asString();
+			if(!valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["RuleProtocol"].isNull())
+				firewallTemplateRulesObject.ruleProtocol = valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["RuleProtocol"].asString();
+			if(!valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["Port"].isNull())
+				firewallTemplateRulesObject.port = valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["Port"].asString();
+			if(!valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["SourceCidrIp"].isNull())
+				firewallTemplateRulesObject.sourceCidrIp = valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["SourceCidrIp"].asString();
+			if(!valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["Remark"].isNull())
+				firewallTemplateRulesObject.remark = valueFirewallTemplatesfirewallTemplateFirewallTemplateRulesfirewallTemplateRule["Remark"].asString();
+			firewallTemplatesObject.firewallTemplateRules.push_back(firewallTemplateRulesObject);
+		}
+		firewallTemplates_.push_back(firewallTemplatesObject);
+	}
+	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 DescribeFirewallTemplatesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeFirewallTemplatesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::vector<DescribeFirewallTemplatesResult::FirewallTemplate> DescribeFirewallTemplatesResult::getFirewallTemplates()const
+{
+	return firewallTemplates_;
+}
+
+int DescribeFirewallTemplatesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 72 - 0
swas-open/src/model/ListCustomImageShareAccountsRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/swas-open/model/ListCustomImageShareAccountsRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::ListCustomImageShareAccountsRequest;
+
+ListCustomImageShareAccountsRequest::ListCustomImageShareAccountsRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "ListCustomImageShareAccounts") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListCustomImageShareAccountsRequest::~ListCustomImageShareAccountsRequest() {}
+
+std::string ListCustomImageShareAccountsRequest::getImageId() const {
+  return imageId_;
+}
+
+void ListCustomImageShareAccountsRequest::setImageId(const std::string &imageId) {
+  imageId_ = imageId;
+  setParameter(std::string("ImageId"), imageId);
+}
+
+std::string ListCustomImageShareAccountsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void ListCustomImageShareAccountsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+int ListCustomImageShareAccountsRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void ListCustomImageShareAccountsRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+std::string ListCustomImageShareAccountsRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ListCustomImageShareAccountsRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int ListCustomImageShareAccountsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListCustomImageShareAccountsRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 80 - 0
swas-open/src/model/ListCustomImageShareAccountsResult.cc

@@ -0,0 +1,80 @@
+/*
+ * 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/swas-open/model/ListCustomImageShareAccountsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::SWAS_OPEN;
+using namespace AlibabaCloud::SWAS_OPEN::Model;
+
+ListCustomImageShareAccountsResult::ListCustomImageShareAccountsResult() :
+	ServiceResult()
+{}
+
+ListCustomImageShareAccountsResult::ListCustomImageShareAccountsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListCustomImageShareAccountsResult::~ListCustomImageShareAccountsResult()
+{}
+
+void ListCustomImageShareAccountsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allImageShareUsersNode = value["ImageShareUsers"]["ImageShareUser"];
+	for (auto valueImageShareUsersImageShareUser : allImageShareUsersNode)
+	{
+		ImageShareUser imageShareUsersObject;
+		if(!valueImageShareUsersImageShareUser["UserId"].isNull())
+			imageShareUsersObject.userId = std::stol(valueImageShareUsersImageShareUser["UserId"].asString());
+		if(!valueImageShareUsersImageShareUser["SharedTime"].isNull())
+			imageShareUsersObject.sharedTime = valueImageShareUsersImageShareUser["SharedTime"].asString();
+		imageShareUsers_.push_back(imageShareUsersObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+
+}
+
+int ListCustomImageShareAccountsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListCustomImageShareAccountsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListCustomImageShareAccountsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListCustomImageShareAccountsResult::ImageShareUser> ListCustomImageShareAccountsResult::getImageShareUsers()const
+{
+	return imageShareUsers_;
+}
+

+ 18 - 0
swas-open/src/model/ListCustomImagesRequest.cc

@@ -97,6 +97,15 @@ void ListCustomImagesRequest::setPageSize(int pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+bool ListCustomImagesRequest::getShare() const {
+  return share_;
+}
+
+void ListCustomImagesRequest::setShare(bool share) {
+  share_ = share;
+  setParameter(std::string("Share"), share ? "true" : "false");
+}
+
 std::vector<ListCustomImagesRequest::Tag> ListCustomImagesRequest::getTag() const {
   return tag_;
 }
@@ -111,6 +120,15 @@ void ListCustomImagesRequest::setTag(const std::vector<ListCustomImagesRequest::
   }
 }
 
+std::string ListCustomImagesRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void ListCustomImagesRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
 std::string ListCustomImagesRequest::getImageIds() const {
   return imageIds_;
 }

+ 9 - 0
swas-open/src/model/ListCustomImagesResult.cc

@@ -51,6 +51,8 @@ void ListCustomImagesResult::parse(const std::string &payload)
 			customImagesObject.systemSnapshotId = valueCustomImagesCustomImage["SystemSnapshotId"].asString();
 		if(!valueCustomImagesCustomImage["InShare"].isNull())
 			customImagesObject.inShare = valueCustomImagesCustomImage["InShare"].asString() == "true";
+		if(!valueCustomImagesCustomImage["InShareUser"].isNull())
+			customImagesObject.inShareUser = valueCustomImagesCustomImage["InShareUser"].asString() == "true";
 		if(!valueCustomImagesCustomImage["InstanceId"].isNull())
 			customImagesObject.instanceId = valueCustomImagesCustomImage["InstanceId"].asString();
 		if(!valueCustomImagesCustomImage["DataSnapshotId"].isNull())
@@ -71,6 +73,10 @@ void ListCustomImagesResult::parse(const std::string &payload)
 			customImagesObject.instanceName = valueCustomImagesCustomImage["InstanceName"].asString();
 		if(!valueCustomImagesCustomImage["ResourceGroupId"].isNull())
 			customImagesObject.resourceGroupId = valueCustomImagesCustomImage["ResourceGroupId"].asString();
+		if(!valueCustomImagesCustomImage["UserId"].isNull())
+			customImagesObject.userId = std::stol(valueCustomImagesCustomImage["UserId"].asString());
+		if(!valueCustomImagesCustomImage["OsType"].isNull())
+			customImagesObject.osType = valueCustomImagesCustomImage["OsType"].asString();
 		auto allTagsNode = valueCustomImagesCustomImage["Tags"]["tag"];
 		for (auto valueCustomImagesCustomImageTagstag : allTagsNode)
 		{
@@ -81,6 +87,9 @@ void ListCustomImagesResult::parse(const std::string &payload)
 				tagsObject.value = valueCustomImagesCustomImageTagstag["Value"].asString();
 			customImagesObject.tags.push_back(tagsObject);
 		}
+		auto allCreateInstances = value["CreateInstances"]["createInstance"];
+		for (auto value : allCreateInstances)
+			customImagesObject.createInstances.push_back(value.asString());
 		customImages_.push_back(customImagesObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 9 - 0
swas-open/src/model/LoginInstanceRequest.cc

@@ -52,6 +52,15 @@ void LoginInstanceRequest::setRegionId(const std::string &regionId) {
   setParameter(std::string("RegionId"), regionId);
 }
 
+int LoginInstanceRequest::getPort() const {
+  return port_;
+}
+
+void LoginInstanceRequest::setPort(int port) {
+  port_ = port;
+  setParameter(std::string("Port"), std::to_string(port));
+}
+
 std::string LoginInstanceRequest::getUsername() const {
   return username_;
 }

+ 98 - 0
swas-open/src/model/ModifyFirewallTemplateRequest.cc

@@ -0,0 +1,98 @@
+/*
+ * 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/swas-open/model/ModifyFirewallTemplateRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::ModifyFirewallTemplateRequest;
+
+ModifyFirewallTemplateRequest::ModifyFirewallTemplateRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "ModifyFirewallTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyFirewallTemplateRequest::~ModifyFirewallTemplateRequest() {}
+
+std::string ModifyFirewallTemplateRequest::getFirewallTemplateId() const {
+  return firewallTemplateId_;
+}
+
+void ModifyFirewallTemplateRequest::setFirewallTemplateId(const std::string &firewallTemplateId) {
+  firewallTemplateId_ = firewallTemplateId;
+  setParameter(std::string("FirewallTemplateId"), firewallTemplateId);
+}
+
+std::string ModifyFirewallTemplateRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void ModifyFirewallTemplateRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string ModifyFirewallTemplateRequest::getDescription() const {
+  return description_;
+}
+
+void ModifyFirewallTemplateRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+std::string ModifyFirewallTemplateRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void ModifyFirewallTemplateRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string ModifyFirewallTemplateRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ModifyFirewallTemplateRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<ModifyFirewallTemplateRequest::FirewallTemplateRule> ModifyFirewallTemplateRequest::getFirewallTemplateRule() const {
+  return firewallTemplateRule_;
+}
+
+void ModifyFirewallTemplateRequest::setFirewallTemplateRule(const std::vector<ModifyFirewallTemplateRequest::FirewallTemplateRule> &firewallTemplateRule) {
+  firewallTemplateRule_ = firewallTemplateRule;
+  for(int dep1 = 0; dep1 != firewallTemplateRule.size(); dep1++) {
+  auto firewallTemplateRuleObj = firewallTemplateRule.at(dep1);
+  std::string firewallTemplateRuleObjStr = std::string("FirewallTemplateRule") + "." + std::to_string(dep1 + 1);
+    setParameter(firewallTemplateRuleObjStr + ".FirewallTemplateRuleId", firewallTemplateRuleObj.firewallTemplateRuleId);
+    setParameter(firewallTemplateRuleObjStr + ".RuleProtocol", firewallTemplateRuleObj.ruleProtocol);
+    setParameter(firewallTemplateRuleObjStr + ".Port", firewallTemplateRuleObj.port);
+    setParameter(firewallTemplateRuleObjStr + ".SourceCidrIp", firewallTemplateRuleObj.sourceCidrIp);
+    setParameter(firewallTemplateRuleObjStr + ".Remark", firewallTemplateRuleObj.remark);
+  }
+}
+
+std::string ModifyFirewallTemplateRequest::getName() const {
+  return name_;
+}
+
+void ModifyFirewallTemplateRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
+}
+

+ 44 - 0
swas-open/src/model/ModifyFirewallTemplateResult.cc

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

+ 62 - 0
swas-open/src/model/RemoveCustomImageShareAccountRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/swas-open/model/RemoveCustomImageShareAccountRequest.h>
+
+using AlibabaCloud::SWAS_OPEN::Model::RemoveCustomImageShareAccountRequest;
+
+RemoveCustomImageShareAccountRequest::RemoveCustomImageShareAccountRequest()
+    : RpcServiceRequest("swas-open", "2020-06-01", "RemoveCustomImageShareAccount") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RemoveCustomImageShareAccountRequest::~RemoveCustomImageShareAccountRequest() {}
+
+std::string RemoveCustomImageShareAccountRequest::getImageId() const {
+  return imageId_;
+}
+
+void RemoveCustomImageShareAccountRequest::setImageId(const std::string &imageId) {
+  imageId_ = imageId;
+  setParameter(std::string("ImageId"), imageId);
+}
+
+std::string RemoveCustomImageShareAccountRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void RemoveCustomImageShareAccountRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string RemoveCustomImageShareAccountRequest::getRegionId() const {
+  return regionId_;
+}
+
+void RemoveCustomImageShareAccountRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<long> RemoveCustomImageShareAccountRequest::getAccount() const {
+  return account_;
+}
+
+void RemoveCustomImageShareAccountRequest::setAccount(const std::vector<long> &account) {
+  account_ = account;
+}
+

+ 44 - 0
swas-open/src/model/RemoveCustomImageShareAccountResult.cc

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