瀏覽代碼

Support Latest APIs.

sdk-team 3 年之前
父節點
當前提交
ec08c61a17
共有 38 個文件被更改,包括 1757 次插入1 次删除
  1. 1 1
      VERSION
  2. 24 0
      alb/CMakeLists.txt
  3. 48 0
      alb/include/alibabacloud/alb/AlbClient.h
  4. 64 0
      alb/include/alibabacloud/alb/model/CreateAScriptsRequest.h
  5. 57 0
      alb/include/alibabacloud/alb/model/CreateAScriptsResult.h
  6. 48 0
      alb/include/alibabacloud/alb/model/DeleteAScriptsRequest.h
  7. 51 0
      alb/include/alibabacloud/alb/model/DeleteAScriptsResult.h
  8. 3 0
      alb/include/alibabacloud/alb/model/DescribeZonesRequest.h
  9. 48 0
      alb/include/alibabacloud/alb/model/DisableLoadBalancerIpv6InternetRequest.h
  10. 51 0
      alb/include/alibabacloud/alb/model/DisableLoadBalancerIpv6InternetResult.h
  11. 48 0
      alb/include/alibabacloud/alb/model/EnableLoadBalancerIpv6InternetRequest.h
  12. 51 0
      alb/include/alibabacloud/alb/model/EnableLoadBalancerIpv6InternetResult.h
  13. 8 0
      alb/include/alibabacloud/alb/model/GetLoadBalancerAttributeResult.h
  14. 54 0
      alb/include/alibabacloud/alb/model/ListAScriptsRequest.h
  15. 76 0
      alb/include/alibabacloud/alb/model/ListAScriptsResult.h
  16. 1 0
      alb/include/alibabacloud/alb/model/ListAclsResult.h
  17. 1 0
      alb/include/alibabacloud/alb/model/ListSecurityPoliciesResult.h
  18. 1 0
      alb/include/alibabacloud/alb/model/ListServerGroupsResult.h
  19. 61 0
      alb/include/alibabacloud/alb/model/UpdateAScriptsRequest.h
  20. 51 0
      alb/include/alibabacloud/alb/model/UpdateAScriptsResult.h
  21. 216 0
      alb/src/AlbClient.cc
  22. 73 0
      alb/src/model/CreateAScriptsRequest.cc
  23. 64 0
      alb/src/model/CreateAScriptsResult.cc
  24. 53 0
      alb/src/model/DeleteAScriptsRequest.cc
  25. 51 0
      alb/src/model/DeleteAScriptsResult.cc
  26. 9 0
      alb/src/model/DescribeZonesRequest.cc
  27. 54 0
      alb/src/model/DisableLoadBalancerIpv6InternetRequest.cc
  28. 51 0
      alb/src/model/DisableLoadBalancerIpv6InternetResult.cc
  29. 54 0
      alb/src/model/EnableLoadBalancerIpv6InternetRequest.cc
  30. 51 0
      alb/src/model/EnableLoadBalancerIpv6InternetResult.cc
  31. 29 0
      alb/src/model/GetLoadBalancerAttributeResult.cc
  32. 78 0
      alb/src/model/ListAScriptsRequest.cc
  33. 106 0
      alb/src/model/ListAScriptsResult.cc
  34. 2 0
      alb/src/model/ListAclsResult.cc
  35. 2 0
      alb/src/model/ListSecurityPoliciesResult.cc
  36. 2 0
      alb/src/model/ListServerGroupsResult.cc
  37. 64 0
      alb/src/model/UpdateAScriptsRequest.cc
  38. 51 0
      alb/src/model/UpdateAScriptsResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1529
+1.36.1530

+ 24 - 0
alb/CMakeLists.txt

@@ -33,6 +33,8 @@ set(alb_public_header_model
 	include/alibabacloud/alb/model/AssociateAdditionalCertificatesWithListenerResult.h
 	include/alibabacloud/alb/model/AttachCommonBandwidthPackageToLoadBalancerRequest.h
 	include/alibabacloud/alb/model/AttachCommonBandwidthPackageToLoadBalancerResult.h
+	include/alibabacloud/alb/model/CreateAScriptsRequest.h
+	include/alibabacloud/alb/model/CreateAScriptsResult.h
 	include/alibabacloud/alb/model/CreateAclRequest.h
 	include/alibabacloud/alb/model/CreateAclResult.h
 	include/alibabacloud/alb/model/CreateHealthCheckTemplateRequest.h
@@ -49,6 +51,8 @@ set(alb_public_header_model
 	include/alibabacloud/alb/model/CreateSecurityPolicyResult.h
 	include/alibabacloud/alb/model/CreateServerGroupRequest.h
 	include/alibabacloud/alb/model/CreateServerGroupResult.h
+	include/alibabacloud/alb/model/DeleteAScriptsRequest.h
+	include/alibabacloud/alb/model/DeleteAScriptsResult.h
 	include/alibabacloud/alb/model/DeleteAclRequest.h
 	include/alibabacloud/alb/model/DeleteAclResult.h
 	include/alibabacloud/alb/model/DeleteHealthCheckTemplatesRequest.h
@@ -75,6 +79,8 @@ set(alb_public_header_model
 	include/alibabacloud/alb/model/DisableDeletionProtectionResult.h
 	include/alibabacloud/alb/model/DisableLoadBalancerAccessLogRequest.h
 	include/alibabacloud/alb/model/DisableLoadBalancerAccessLogResult.h
+	include/alibabacloud/alb/model/DisableLoadBalancerIpv6InternetRequest.h
+	include/alibabacloud/alb/model/DisableLoadBalancerIpv6InternetResult.h
 	include/alibabacloud/alb/model/DissociateAclsFromListenerRequest.h
 	include/alibabacloud/alb/model/DissociateAclsFromListenerResult.h
 	include/alibabacloud/alb/model/DissociateAdditionalCertificatesFromListenerRequest.h
@@ -83,6 +89,8 @@ set(alb_public_header_model
 	include/alibabacloud/alb/model/EnableDeletionProtectionResult.h
 	include/alibabacloud/alb/model/EnableLoadBalancerAccessLogRequest.h
 	include/alibabacloud/alb/model/EnableLoadBalancerAccessLogResult.h
+	include/alibabacloud/alb/model/EnableLoadBalancerIpv6InternetRequest.h
+	include/alibabacloud/alb/model/EnableLoadBalancerIpv6InternetResult.h
 	include/alibabacloud/alb/model/GetHealthCheckTemplateAttributeRequest.h
 	include/alibabacloud/alb/model/GetHealthCheckTemplateAttributeResult.h
 	include/alibabacloud/alb/model/GetListenerAttributeRequest.h
@@ -91,6 +99,8 @@ set(alb_public_header_model
 	include/alibabacloud/alb/model/GetListenerHealthStatusResult.h
 	include/alibabacloud/alb/model/GetLoadBalancerAttributeRequest.h
 	include/alibabacloud/alb/model/GetLoadBalancerAttributeResult.h
+	include/alibabacloud/alb/model/ListAScriptsRequest.h
+	include/alibabacloud/alb/model/ListAScriptsResult.h
 	include/alibabacloud/alb/model/ListAclEntriesRequest.h
 	include/alibabacloud/alb/model/ListAclEntriesResult.h
 	include/alibabacloud/alb/model/ListAclRelationsRequest.h
@@ -141,6 +151,8 @@ set(alb_public_header_model
 	include/alibabacloud/alb/model/TagResourcesResult.h
 	include/alibabacloud/alb/model/UnTagResourcesRequest.h
 	include/alibabacloud/alb/model/UnTagResourcesResult.h
+	include/alibabacloud/alb/model/UpdateAScriptsRequest.h
+	include/alibabacloud/alb/model/UpdateAScriptsResult.h
 	include/alibabacloud/alb/model/UpdateAclAttributeRequest.h
 	include/alibabacloud/alb/model/UpdateAclAttributeResult.h
 	include/alibabacloud/alb/model/UpdateHealthCheckTemplateAttributeRequest.h
@@ -182,6 +194,8 @@ set(alb_src
 	src/model/AssociateAdditionalCertificatesWithListenerResult.cc
 	src/model/AttachCommonBandwidthPackageToLoadBalancerRequest.cc
 	src/model/AttachCommonBandwidthPackageToLoadBalancerResult.cc
+	src/model/CreateAScriptsRequest.cc
+	src/model/CreateAScriptsResult.cc
 	src/model/CreateAclRequest.cc
 	src/model/CreateAclResult.cc
 	src/model/CreateHealthCheckTemplateRequest.cc
@@ -198,6 +212,8 @@ set(alb_src
 	src/model/CreateSecurityPolicyResult.cc
 	src/model/CreateServerGroupRequest.cc
 	src/model/CreateServerGroupResult.cc
+	src/model/DeleteAScriptsRequest.cc
+	src/model/DeleteAScriptsResult.cc
 	src/model/DeleteAclRequest.cc
 	src/model/DeleteAclResult.cc
 	src/model/DeleteHealthCheckTemplatesRequest.cc
@@ -224,6 +240,8 @@ set(alb_src
 	src/model/DisableDeletionProtectionResult.cc
 	src/model/DisableLoadBalancerAccessLogRequest.cc
 	src/model/DisableLoadBalancerAccessLogResult.cc
+	src/model/DisableLoadBalancerIpv6InternetRequest.cc
+	src/model/DisableLoadBalancerIpv6InternetResult.cc
 	src/model/DissociateAclsFromListenerRequest.cc
 	src/model/DissociateAclsFromListenerResult.cc
 	src/model/DissociateAdditionalCertificatesFromListenerRequest.cc
@@ -232,6 +250,8 @@ set(alb_src
 	src/model/EnableDeletionProtectionResult.cc
 	src/model/EnableLoadBalancerAccessLogRequest.cc
 	src/model/EnableLoadBalancerAccessLogResult.cc
+	src/model/EnableLoadBalancerIpv6InternetRequest.cc
+	src/model/EnableLoadBalancerIpv6InternetResult.cc
 	src/model/GetHealthCheckTemplateAttributeRequest.cc
 	src/model/GetHealthCheckTemplateAttributeResult.cc
 	src/model/GetListenerAttributeRequest.cc
@@ -240,6 +260,8 @@ set(alb_src
 	src/model/GetListenerHealthStatusResult.cc
 	src/model/GetLoadBalancerAttributeRequest.cc
 	src/model/GetLoadBalancerAttributeResult.cc
+	src/model/ListAScriptsRequest.cc
+	src/model/ListAScriptsResult.cc
 	src/model/ListAclEntriesRequest.cc
 	src/model/ListAclEntriesResult.cc
 	src/model/ListAclRelationsRequest.cc
@@ -290,6 +312,8 @@ set(alb_src
 	src/model/TagResourcesResult.cc
 	src/model/UnTagResourcesRequest.cc
 	src/model/UnTagResourcesResult.cc
+	src/model/UpdateAScriptsRequest.cc
+	src/model/UpdateAScriptsResult.cc
 	src/model/UpdateAclAttributeRequest.cc
 	src/model/UpdateAclAttributeResult.cc
 	src/model/UpdateHealthCheckTemplateAttributeRequest.cc

+ 48 - 0
alb/include/alibabacloud/alb/AlbClient.h

@@ -34,6 +34,8 @@
 #include "model/AssociateAdditionalCertificatesWithListenerResult.h"
 #include "model/AttachCommonBandwidthPackageToLoadBalancerRequest.h"
 #include "model/AttachCommonBandwidthPackageToLoadBalancerResult.h"
+#include "model/CreateAScriptsRequest.h"
+#include "model/CreateAScriptsResult.h"
 #include "model/CreateAclRequest.h"
 #include "model/CreateAclResult.h"
 #include "model/CreateHealthCheckTemplateRequest.h"
@@ -50,6 +52,8 @@
 #include "model/CreateSecurityPolicyResult.h"
 #include "model/CreateServerGroupRequest.h"
 #include "model/CreateServerGroupResult.h"
+#include "model/DeleteAScriptsRequest.h"
+#include "model/DeleteAScriptsResult.h"
 #include "model/DeleteAclRequest.h"
 #include "model/DeleteAclResult.h"
 #include "model/DeleteHealthCheckTemplatesRequest.h"
@@ -76,6 +80,8 @@
 #include "model/DisableDeletionProtectionResult.h"
 #include "model/DisableLoadBalancerAccessLogRequest.h"
 #include "model/DisableLoadBalancerAccessLogResult.h"
+#include "model/DisableLoadBalancerIpv6InternetRequest.h"
+#include "model/DisableLoadBalancerIpv6InternetResult.h"
 #include "model/DissociateAclsFromListenerRequest.h"
 #include "model/DissociateAclsFromListenerResult.h"
 #include "model/DissociateAdditionalCertificatesFromListenerRequest.h"
@@ -84,6 +90,8 @@
 #include "model/EnableDeletionProtectionResult.h"
 #include "model/EnableLoadBalancerAccessLogRequest.h"
 #include "model/EnableLoadBalancerAccessLogResult.h"
+#include "model/EnableLoadBalancerIpv6InternetRequest.h"
+#include "model/EnableLoadBalancerIpv6InternetResult.h"
 #include "model/GetHealthCheckTemplateAttributeRequest.h"
 #include "model/GetHealthCheckTemplateAttributeResult.h"
 #include "model/GetListenerAttributeRequest.h"
@@ -92,6 +100,8 @@
 #include "model/GetListenerHealthStatusResult.h"
 #include "model/GetLoadBalancerAttributeRequest.h"
 #include "model/GetLoadBalancerAttributeResult.h"
+#include "model/ListAScriptsRequest.h"
+#include "model/ListAScriptsResult.h"
 #include "model/ListAclEntriesRequest.h"
 #include "model/ListAclEntriesResult.h"
 #include "model/ListAclRelationsRequest.h"
@@ -142,6 +152,8 @@
 #include "model/TagResourcesResult.h"
 #include "model/UnTagResourcesRequest.h"
 #include "model/UnTagResourcesResult.h"
+#include "model/UpdateAScriptsRequest.h"
+#include "model/UpdateAScriptsResult.h"
 #include "model/UpdateAclAttributeRequest.h"
 #include "model/UpdateAclAttributeResult.h"
 #include "model/UpdateHealthCheckTemplateAttributeRequest.h"
@@ -195,6 +207,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AttachCommonBandwidthPackageToLoadBalancerResult> AttachCommonBandwidthPackageToLoadBalancerOutcome;
 			typedef std::future<AttachCommonBandwidthPackageToLoadBalancerOutcome> AttachCommonBandwidthPackageToLoadBalancerOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::AttachCommonBandwidthPackageToLoadBalancerRequest&, const AttachCommonBandwidthPackageToLoadBalancerOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachCommonBandwidthPackageToLoadBalancerAsyncHandler;
+			typedef Outcome<Error, Model::CreateAScriptsResult> CreateAScriptsOutcome;
+			typedef std::future<CreateAScriptsOutcome> CreateAScriptsOutcomeCallable;
+			typedef std::function<void(const AlbClient*, const Model::CreateAScriptsRequest&, const CreateAScriptsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAScriptsAsyncHandler;
 			typedef Outcome<Error, Model::CreateAclResult> CreateAclOutcome;
 			typedef std::future<CreateAclOutcome> CreateAclOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::CreateAclRequest&, const CreateAclOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAclAsyncHandler;
@@ -219,6 +234,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateServerGroupResult> CreateServerGroupOutcome;
 			typedef std::future<CreateServerGroupOutcome> CreateServerGroupOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::CreateServerGroupRequest&, const CreateServerGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateServerGroupAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAScriptsResult> DeleteAScriptsOutcome;
+			typedef std::future<DeleteAScriptsOutcome> DeleteAScriptsOutcomeCallable;
+			typedef std::function<void(const AlbClient*, const Model::DeleteAScriptsRequest&, const DeleteAScriptsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAScriptsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteAclResult> DeleteAclOutcome;
 			typedef std::future<DeleteAclOutcome> DeleteAclOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::DeleteAclRequest&, const DeleteAclOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAclAsyncHandler;
@@ -258,6 +276,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DisableLoadBalancerAccessLogResult> DisableLoadBalancerAccessLogOutcome;
 			typedef std::future<DisableLoadBalancerAccessLogOutcome> DisableLoadBalancerAccessLogOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::DisableLoadBalancerAccessLogRequest&, const DisableLoadBalancerAccessLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableLoadBalancerAccessLogAsyncHandler;
+			typedef Outcome<Error, Model::DisableLoadBalancerIpv6InternetResult> DisableLoadBalancerIpv6InternetOutcome;
+			typedef std::future<DisableLoadBalancerIpv6InternetOutcome> DisableLoadBalancerIpv6InternetOutcomeCallable;
+			typedef std::function<void(const AlbClient*, const Model::DisableLoadBalancerIpv6InternetRequest&, const DisableLoadBalancerIpv6InternetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableLoadBalancerIpv6InternetAsyncHandler;
 			typedef Outcome<Error, Model::DissociateAclsFromListenerResult> DissociateAclsFromListenerOutcome;
 			typedef std::future<DissociateAclsFromListenerOutcome> DissociateAclsFromListenerOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::DissociateAclsFromListenerRequest&, const DissociateAclsFromListenerOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DissociateAclsFromListenerAsyncHandler;
@@ -270,6 +291,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::EnableLoadBalancerAccessLogResult> EnableLoadBalancerAccessLogOutcome;
 			typedef std::future<EnableLoadBalancerAccessLogOutcome> EnableLoadBalancerAccessLogOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::EnableLoadBalancerAccessLogRequest&, const EnableLoadBalancerAccessLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableLoadBalancerAccessLogAsyncHandler;
+			typedef Outcome<Error, Model::EnableLoadBalancerIpv6InternetResult> EnableLoadBalancerIpv6InternetOutcome;
+			typedef std::future<EnableLoadBalancerIpv6InternetOutcome> EnableLoadBalancerIpv6InternetOutcomeCallable;
+			typedef std::function<void(const AlbClient*, const Model::EnableLoadBalancerIpv6InternetRequest&, const EnableLoadBalancerIpv6InternetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableLoadBalancerIpv6InternetAsyncHandler;
 			typedef Outcome<Error, Model::GetHealthCheckTemplateAttributeResult> GetHealthCheckTemplateAttributeOutcome;
 			typedef std::future<GetHealthCheckTemplateAttributeOutcome> GetHealthCheckTemplateAttributeOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::GetHealthCheckTemplateAttributeRequest&, const GetHealthCheckTemplateAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetHealthCheckTemplateAttributeAsyncHandler;
@@ -282,6 +306,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetLoadBalancerAttributeResult> GetLoadBalancerAttributeOutcome;
 			typedef std::future<GetLoadBalancerAttributeOutcome> GetLoadBalancerAttributeOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::GetLoadBalancerAttributeRequest&, const GetLoadBalancerAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetLoadBalancerAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ListAScriptsResult> ListAScriptsOutcome;
+			typedef std::future<ListAScriptsOutcome> ListAScriptsOutcomeCallable;
+			typedef std::function<void(const AlbClient*, const Model::ListAScriptsRequest&, const ListAScriptsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAScriptsAsyncHandler;
 			typedef Outcome<Error, Model::ListAclEntriesResult> ListAclEntriesOutcome;
 			typedef std::future<ListAclEntriesOutcome> ListAclEntriesOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::ListAclEntriesRequest&, const ListAclEntriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAclEntriesAsyncHandler;
@@ -357,6 +384,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UnTagResourcesResult> UnTagResourcesOutcome;
 			typedef std::future<UnTagResourcesOutcome> UnTagResourcesOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::UnTagResourcesRequest&, const UnTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnTagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UpdateAScriptsResult> UpdateAScriptsOutcome;
+			typedef std::future<UpdateAScriptsOutcome> UpdateAScriptsOutcomeCallable;
+			typedef std::function<void(const AlbClient*, const Model::UpdateAScriptsRequest&, const UpdateAScriptsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAScriptsAsyncHandler;
 			typedef Outcome<Error, Model::UpdateAclAttributeResult> UpdateAclAttributeOutcome;
 			typedef std::future<UpdateAclAttributeOutcome> UpdateAclAttributeOutcomeCallable;
 			typedef std::function<void(const AlbClient*, const Model::UpdateAclAttributeRequest&, const UpdateAclAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAclAttributeAsyncHandler;
@@ -419,6 +449,9 @@ namespace AlibabaCloud
 			AttachCommonBandwidthPackageToLoadBalancerOutcome attachCommonBandwidthPackageToLoadBalancer(const Model::AttachCommonBandwidthPackageToLoadBalancerRequest &request)const;
 			void attachCommonBandwidthPackageToLoadBalancerAsync(const Model::AttachCommonBandwidthPackageToLoadBalancerRequest& request, const AttachCommonBandwidthPackageToLoadBalancerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AttachCommonBandwidthPackageToLoadBalancerOutcomeCallable attachCommonBandwidthPackageToLoadBalancerCallable(const Model::AttachCommonBandwidthPackageToLoadBalancerRequest& request) const;
+			CreateAScriptsOutcome createAScripts(const Model::CreateAScriptsRequest &request)const;
+			void createAScriptsAsync(const Model::CreateAScriptsRequest& request, const CreateAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAScriptsOutcomeCallable createAScriptsCallable(const Model::CreateAScriptsRequest& request) const;
 			CreateAclOutcome createAcl(const Model::CreateAclRequest &request)const;
 			void createAclAsync(const Model::CreateAclRequest& request, const CreateAclAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateAclOutcomeCallable createAclCallable(const Model::CreateAclRequest& request) const;
@@ -443,6 +476,9 @@ namespace AlibabaCloud
 			CreateServerGroupOutcome createServerGroup(const Model::CreateServerGroupRequest &request)const;
 			void createServerGroupAsync(const Model::CreateServerGroupRequest& request, const CreateServerGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateServerGroupOutcomeCallable createServerGroupCallable(const Model::CreateServerGroupRequest& request) const;
+			DeleteAScriptsOutcome deleteAScripts(const Model::DeleteAScriptsRequest &request)const;
+			void deleteAScriptsAsync(const Model::DeleteAScriptsRequest& request, const DeleteAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAScriptsOutcomeCallable deleteAScriptsCallable(const Model::DeleteAScriptsRequest& request) const;
 			DeleteAclOutcome deleteAcl(const Model::DeleteAclRequest &request)const;
 			void deleteAclAsync(const Model::DeleteAclRequest& request, const DeleteAclAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteAclOutcomeCallable deleteAclCallable(const Model::DeleteAclRequest& request) const;
@@ -482,6 +518,9 @@ namespace AlibabaCloud
 			DisableLoadBalancerAccessLogOutcome disableLoadBalancerAccessLog(const Model::DisableLoadBalancerAccessLogRequest &request)const;
 			void disableLoadBalancerAccessLogAsync(const Model::DisableLoadBalancerAccessLogRequest& request, const DisableLoadBalancerAccessLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DisableLoadBalancerAccessLogOutcomeCallable disableLoadBalancerAccessLogCallable(const Model::DisableLoadBalancerAccessLogRequest& request) const;
+			DisableLoadBalancerIpv6InternetOutcome disableLoadBalancerIpv6Internet(const Model::DisableLoadBalancerIpv6InternetRequest &request)const;
+			void disableLoadBalancerIpv6InternetAsync(const Model::DisableLoadBalancerIpv6InternetRequest& request, const DisableLoadBalancerIpv6InternetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DisableLoadBalancerIpv6InternetOutcomeCallable disableLoadBalancerIpv6InternetCallable(const Model::DisableLoadBalancerIpv6InternetRequest& request) const;
 			DissociateAclsFromListenerOutcome dissociateAclsFromListener(const Model::DissociateAclsFromListenerRequest &request)const;
 			void dissociateAclsFromListenerAsync(const Model::DissociateAclsFromListenerRequest& request, const DissociateAclsFromListenerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DissociateAclsFromListenerOutcomeCallable dissociateAclsFromListenerCallable(const Model::DissociateAclsFromListenerRequest& request) const;
@@ -494,6 +533,9 @@ namespace AlibabaCloud
 			EnableLoadBalancerAccessLogOutcome enableLoadBalancerAccessLog(const Model::EnableLoadBalancerAccessLogRequest &request)const;
 			void enableLoadBalancerAccessLogAsync(const Model::EnableLoadBalancerAccessLogRequest& request, const EnableLoadBalancerAccessLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnableLoadBalancerAccessLogOutcomeCallable enableLoadBalancerAccessLogCallable(const Model::EnableLoadBalancerAccessLogRequest& request) const;
+			EnableLoadBalancerIpv6InternetOutcome enableLoadBalancerIpv6Internet(const Model::EnableLoadBalancerIpv6InternetRequest &request)const;
+			void enableLoadBalancerIpv6InternetAsync(const Model::EnableLoadBalancerIpv6InternetRequest& request, const EnableLoadBalancerIpv6InternetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableLoadBalancerIpv6InternetOutcomeCallable enableLoadBalancerIpv6InternetCallable(const Model::EnableLoadBalancerIpv6InternetRequest& request) const;
 			GetHealthCheckTemplateAttributeOutcome getHealthCheckTemplateAttribute(const Model::GetHealthCheckTemplateAttributeRequest &request)const;
 			void getHealthCheckTemplateAttributeAsync(const Model::GetHealthCheckTemplateAttributeRequest& request, const GetHealthCheckTemplateAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetHealthCheckTemplateAttributeOutcomeCallable getHealthCheckTemplateAttributeCallable(const Model::GetHealthCheckTemplateAttributeRequest& request) const;
@@ -506,6 +548,9 @@ namespace AlibabaCloud
 			GetLoadBalancerAttributeOutcome getLoadBalancerAttribute(const Model::GetLoadBalancerAttributeRequest &request)const;
 			void getLoadBalancerAttributeAsync(const Model::GetLoadBalancerAttributeRequest& request, const GetLoadBalancerAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetLoadBalancerAttributeOutcomeCallable getLoadBalancerAttributeCallable(const Model::GetLoadBalancerAttributeRequest& request) const;
+			ListAScriptsOutcome listAScripts(const Model::ListAScriptsRequest &request)const;
+			void listAScriptsAsync(const Model::ListAScriptsRequest& request, const ListAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListAScriptsOutcomeCallable listAScriptsCallable(const Model::ListAScriptsRequest& request) const;
 			ListAclEntriesOutcome listAclEntries(const Model::ListAclEntriesRequest &request)const;
 			void listAclEntriesAsync(const Model::ListAclEntriesRequest& request, const ListAclEntriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListAclEntriesOutcomeCallable listAclEntriesCallable(const Model::ListAclEntriesRequest& request) const;
@@ -581,6 +626,9 @@ namespace AlibabaCloud
 			UnTagResourcesOutcome unTagResources(const Model::UnTagResourcesRequest &request)const;
 			void unTagResourcesAsync(const Model::UnTagResourcesRequest& request, const UnTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnTagResourcesOutcomeCallable unTagResourcesCallable(const Model::UnTagResourcesRequest& request) const;
+			UpdateAScriptsOutcome updateAScripts(const Model::UpdateAScriptsRequest &request)const;
+			void updateAScriptsAsync(const Model::UpdateAScriptsRequest& request, const UpdateAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateAScriptsOutcomeCallable updateAScriptsCallable(const Model::UpdateAScriptsRequest& request) const;
 			UpdateAclAttributeOutcome updateAclAttribute(const Model::UpdateAclAttributeRequest &request)const;
 			void updateAclAttributeAsync(const Model::UpdateAclAttributeRequest& request, const UpdateAclAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateAclAttributeOutcomeCallable updateAclAttributeCallable(const Model::UpdateAclAttributeRequest& request) const;

+ 64 - 0
alb/include/alibabacloud/alb/model/CreateAScriptsRequest.h

@@ -0,0 +1,64 @@
+/*
+ * 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_ALB_MODEL_CREATEASCRIPTSREQUEST_H_
+#define ALIBABACLOUD_ALB_MODEL_CREATEASCRIPTSREQUEST_H_
+
+#include <alibabacloud/alb/AlbExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Alb {
+namespace Model {
+class ALIBABACLOUD_ALB_EXPORT CreateAScriptsRequest : public RpcServiceRequest {
+public:
+	struct AScripts {
+		std::string aScriptName;
+		bool extAttributeEnabled;
+		std::string position;
+		std::string scriptContent;
+		struct ExtAttributesItem {
+			std::string attributeValue;
+			std::string attributeKey;
+		};
+		ExtAttributesItem extAttributesItem;
+		std::vector<ExtAttributesItem> extAttributes;
+		bool enabled;
+	};
+	CreateAScriptsRequest();
+	~CreateAScriptsRequest();
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getListenerId() const;
+	void setListenerId(const std::string &listenerId);
+	std::vector<AScripts> getAScripts() const;
+	void setAScripts(const std::vector<AScripts> &aScripts);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
+
+private:
+	std::string clientToken_;
+	std::string listenerId_;
+	std::vector<AScripts> aScripts_;
+	bool dryRun_;
+};
+} // namespace Model
+} // namespace Alb
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ALB_MODEL_CREATEASCRIPTSREQUEST_H_

+ 57 - 0
alb/include/alibabacloud/alb/model/CreateAScriptsResult.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_ALB_MODEL_CREATEASCRIPTSRESULT_H_
+#define ALIBABACLOUD_ALB_MODEL_CREATEASCRIPTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alb/AlbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALB_EXPORT CreateAScriptsResult : public ServiceResult
+			{
+			public:
+				struct AScriptId
+				{
+					std::string aScriptId;
+				};
+
+
+				CreateAScriptsResult();
+				explicit CreateAScriptsResult(const std::string &payload);
+				~CreateAScriptsResult();
+				std::vector<AScriptId> getAScriptIds()const;
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AScriptId> aScriptIds_;
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALB_MODEL_CREATEASCRIPTSRESULT_H_

+ 48 - 0
alb/include/alibabacloud/alb/model/DeleteAScriptsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_ALB_MODEL_DELETEASCRIPTSREQUEST_H_
+#define ALIBABACLOUD_ALB_MODEL_DELETEASCRIPTSREQUEST_H_
+
+#include <alibabacloud/alb/AlbExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Alb {
+namespace Model {
+class ALIBABACLOUD_ALB_EXPORT DeleteAScriptsRequest : public RpcServiceRequest {
+public:
+	DeleteAScriptsRequest();
+	~DeleteAScriptsRequest();
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
+	std::vector<std::string> getAScriptIds() const;
+	void setAScriptIds(const std::vector<std::string> &aScriptIds);
+
+private:
+	std::string clientToken_;
+	bool dryRun_;
+	std::vector<std::string> aScriptIds_;
+};
+} // namespace Model
+} // namespace Alb
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ALB_MODEL_DELETEASCRIPTSREQUEST_H_

+ 51 - 0
alb/include/alibabacloud/alb/model/DeleteAScriptsResult.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_ALB_MODEL_DELETEASCRIPTSRESULT_H_
+#define ALIBABACLOUD_ALB_MODEL_DELETEASCRIPTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alb/AlbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALB_EXPORT DeleteAScriptsResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAScriptsResult();
+				explicit DeleteAScriptsResult(const std::string &payload);
+				~DeleteAScriptsResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALB_MODEL_DELETEASCRIPTSRESULT_H_

+ 3 - 0
alb/include/alibabacloud/alb/model/DescribeZonesRequest.h

@@ -30,8 +30,11 @@ class ALIBABACLOUD_ALB_EXPORT DescribeZonesRequest : public RpcServiceRequest {
 public:
 	DescribeZonesRequest();
 	~DescribeZonesRequest();
+	std::string getAcceptLanguage() const;
+	void setAcceptLanguage(const std::string &acceptLanguage);
 
 private:
+	std::string acceptLanguage_;
 };
 } // namespace Model
 } // namespace Alb

+ 48 - 0
alb/include/alibabacloud/alb/model/DisableLoadBalancerIpv6InternetRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_ALB_MODEL_DISABLELOADBALANCERIPV6INTERNETREQUEST_H_
+#define ALIBABACLOUD_ALB_MODEL_DISABLELOADBALANCERIPV6INTERNETREQUEST_H_
+
+#include <alibabacloud/alb/AlbExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Alb {
+namespace Model {
+class ALIBABACLOUD_ALB_EXPORT DisableLoadBalancerIpv6InternetRequest : public RpcServiceRequest {
+public:
+	DisableLoadBalancerIpv6InternetRequest();
+	~DisableLoadBalancerIpv6InternetRequest();
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
+	std::string getLoadBalancerId() const;
+	void setLoadBalancerId(const std::string &loadBalancerId);
+
+private:
+	std::string clientToken_;
+	bool dryRun_;
+	std::string loadBalancerId_;
+};
+} // namespace Model
+} // namespace Alb
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ALB_MODEL_DISABLELOADBALANCERIPV6INTERNETREQUEST_H_

+ 51 - 0
alb/include/alibabacloud/alb/model/DisableLoadBalancerIpv6InternetResult.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_ALB_MODEL_DISABLELOADBALANCERIPV6INTERNETRESULT_H_
+#define ALIBABACLOUD_ALB_MODEL_DISABLELOADBALANCERIPV6INTERNETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alb/AlbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALB_EXPORT DisableLoadBalancerIpv6InternetResult : public ServiceResult
+			{
+			public:
+
+
+				DisableLoadBalancerIpv6InternetResult();
+				explicit DisableLoadBalancerIpv6InternetResult(const std::string &payload);
+				~DisableLoadBalancerIpv6InternetResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALB_MODEL_DISABLELOADBALANCERIPV6INTERNETRESULT_H_

+ 48 - 0
alb/include/alibabacloud/alb/model/EnableLoadBalancerIpv6InternetRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_ALB_MODEL_ENABLELOADBALANCERIPV6INTERNETREQUEST_H_
+#define ALIBABACLOUD_ALB_MODEL_ENABLELOADBALANCERIPV6INTERNETREQUEST_H_
+
+#include <alibabacloud/alb/AlbExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Alb {
+namespace Model {
+class ALIBABACLOUD_ALB_EXPORT EnableLoadBalancerIpv6InternetRequest : public RpcServiceRequest {
+public:
+	EnableLoadBalancerIpv6InternetRequest();
+	~EnableLoadBalancerIpv6InternetRequest();
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
+	std::string getLoadBalancerId() const;
+	void setLoadBalancerId(const std::string &loadBalancerId);
+
+private:
+	std::string clientToken_;
+	bool dryRun_;
+	std::string loadBalancerId_;
+};
+} // namespace Model
+} // namespace Alb
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ALB_MODEL_ENABLELOADBALANCERIPV6INTERNETREQUEST_H_

+ 51 - 0
alb/include/alibabacloud/alb/model/EnableLoadBalancerIpv6InternetResult.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_ALB_MODEL_ENABLELOADBALANCERIPV6INTERNETRESULT_H_
+#define ALIBABACLOUD_ALB_MODEL_ENABLELOADBALANCERIPV6INTERNETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alb/AlbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALB_EXPORT EnableLoadBalancerIpv6InternetResult : public ServiceResult
+			{
+			public:
+
+
+				EnableLoadBalancerIpv6InternetResult();
+				explicit EnableLoadBalancerIpv6InternetResult(const std::string &payload);
+				~EnableLoadBalancerIpv6InternetResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALB_MODEL_ENABLELOADBALANCERIPV6INTERNETRESULT_H_

+ 8 - 0
alb/include/alibabacloud/alb/model/GetLoadBalancerAttributeResult.h

@@ -84,6 +84,7 @@ namespace AlibabaCloud
 				~GetLoadBalancerAttributeResult();
 				bool getServiceManagedEnabled()const;
 				std::string getAddressIpVersion()const;
+				std::string getLoadBalancerVersion()const;
 				std::string getResourceGroupId()const;
 				std::vector<std::string> getFeatureLabels()const;
 				std::string getLoadBalancerId()const;
@@ -93,12 +94,15 @@ namespace AlibabaCloud
 				int getBandwidthCapacity()const;
 				DeletionProtectionConfig getDeletionProtectionConfig()const;
 				std::string getServiceManagedMode()const;
+				std::string getSysSecurityGroupId()const;
 				std::string getBandwidthPackageId()const;
 				std::vector<Tag> getTags()const;
+				bool getBackToOriginRouteEnabled()const;
 				std::string getLoadBalancerEdition()const;
 				LoadBalancerBillingConfig getLoadBalancerBillingConfig()const;
 				std::string getCreateTime()const;
 				ModificationProtectionConfig getModificationProtectionConfig()const;
+				std::vector<std::string> getSecurityGroupIds()const;
 				std::string getLoadBalancerName()const;
 				AccessLogConfig getAccessLogConfig()const;
 				bool getConfigManagedEnabled()const;
@@ -115,6 +119,7 @@ namespace AlibabaCloud
 			private:
 				bool serviceManagedEnabled_;
 				std::string addressIpVersion_;
+				std::string loadBalancerVersion_;
 				std::string resourceGroupId_;
 				std::vector<std::string> featureLabels_;
 				std::string loadBalancerId_;
@@ -124,12 +129,15 @@ namespace AlibabaCloud
 				int bandwidthCapacity_;
 				DeletionProtectionConfig deletionProtectionConfig_;
 				std::string serviceManagedMode_;
+				std::string sysSecurityGroupId_;
 				std::string bandwidthPackageId_;
 				std::vector<Tag> tags_;
+				bool backToOriginRouteEnabled_;
 				std::string loadBalancerEdition_;
 				LoadBalancerBillingConfig loadBalancerBillingConfig_;
 				std::string createTime_;
 				ModificationProtectionConfig modificationProtectionConfig_;
+				std::vector<std::string> securityGroupIds_;
 				std::string loadBalancerName_;
 				AccessLogConfig accessLogConfig_;
 				bool configManagedEnabled_;

+ 54 - 0
alb/include/alibabacloud/alb/model/ListAScriptsRequest.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_ALB_MODEL_LISTASCRIPTSREQUEST_H_
+#define ALIBABACLOUD_ALB_MODEL_LISTASCRIPTSREQUEST_H_
+
+#include <alibabacloud/alb/AlbExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Alb {
+namespace Model {
+class ALIBABACLOUD_ALB_EXPORT ListAScriptsRequest : public RpcServiceRequest {
+public:
+	ListAScriptsRequest();
+	~ListAScriptsRequest();
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::vector<std::string> getAScriptNames() const;
+	void setAScriptNames(const std::vector<std::string> &aScriptNames);
+	std::vector<std::string> getListenerIds() const;
+	void setListenerIds(const std::vector<std::string> &listenerIds);
+	std::vector<std::string> getAScriptIds() const;
+	void setAScriptIds(const std::vector<std::string> &aScriptIds);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	std::string nextToken_;
+	std::vector<std::string> aScriptNames_;
+	std::vector<std::string> listenerIds_;
+	std::vector<std::string> aScriptIds_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace Alb
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ALB_MODEL_LISTASCRIPTSREQUEST_H_

+ 76 - 0
alb/include/alibabacloud/alb/model/ListAScriptsResult.h

@@ -0,0 +1,76 @@
+/*
+ * 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_ALB_MODEL_LISTASCRIPTSRESULT_H_
+#define ALIBABACLOUD_ALB_MODEL_LISTASCRIPTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alb/AlbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALB_EXPORT ListAScriptsResult : public ServiceResult
+			{
+			public:
+				struct AScript
+				{
+					struct ExtAttribute
+					{
+						std::string attributeKey;
+						std::string attributeValue;
+					};
+					std::string scriptContent;
+					std::string aScriptStatus;
+					std::string aScriptName;
+					std::string position;
+					long priority;
+					std::string aScriptId;
+					bool enabled;
+					bool extAttributeEnabled;
+					std::string loadBalancerId;
+					std::vector<AScript::ExtAttribute> extAttributes;
+					std::string listenerId;
+				};
+
+
+				ListAScriptsResult();
+				explicit ListAScriptsResult(const std::string &payload);
+				~ListAScriptsResult();
+				int getTotalCount()const;
+				std::string getNextToken()const;
+				int getMaxResults()const;
+				std::vector<AScript> getAScripts()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string nextToken_;
+				int maxResults_;
+				std::vector<AScript> aScripts_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALB_MODEL_LISTASCRIPTSRESULT_H_

+ 1 - 0
alb/include/alibabacloud/alb/model/ListAclsResult.h

@@ -41,6 +41,7 @@ namespace AlibabaCloud
 					std::string aclId;
 					std::string addressIPVersion;
 					std::string serviceManagedMode;
+					std::string createTime;
 					std::string aclName;
 				};
 

+ 1 - 0
alb/include/alibabacloud/alb/model/ListSecurityPoliciesResult.h

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 					std::string resourceGroupId;
 					std::string securityPolicyStatus;
 					std::string serviceManagedMode;
+					std::string createTime;
 					std::vector<std::string> tLSVersions;
 					std::string securityPolicyName;
 				};

+ 1 - 0
alb/include/alibabacloud/alb/model/ListServerGroupsResult.h

@@ -76,6 +76,7 @@ namespace AlibabaCloud
 					std::string scheduler;
 					bool upstreamKeepaliveEnabled;
 					StickySessionConfig stickySessionConfig;
+					std::string createTime;
 					std::vector<std::string> relatedRuleIds;
 					std::string serverGroupId;
 					int serverCount;

+ 61 - 0
alb/include/alibabacloud/alb/model/UpdateAScriptsRequest.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_ALB_MODEL_UPDATEASCRIPTSREQUEST_H_
+#define ALIBABACLOUD_ALB_MODEL_UPDATEASCRIPTSREQUEST_H_
+
+#include <alibabacloud/alb/AlbExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Alb {
+namespace Model {
+class ALIBABACLOUD_ALB_EXPORT UpdateAScriptsRequest : public RpcServiceRequest {
+public:
+	struct AScripts {
+		std::string aScriptName;
+		std::string aScriptId;
+		bool extAttributeEnabled;
+		std::string scriptContent;
+		struct ExtAttributesItem {
+			std::string attributeValue;
+			std::string attributeKey;
+		};
+		ExtAttributesItem extAttributesItem;
+		std::vector<ExtAttributesItem> extAttributes;
+		bool enabled;
+	};
+	UpdateAScriptsRequest();
+	~UpdateAScriptsRequest();
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::vector<AScripts> getAScripts() const;
+	void setAScripts(const std::vector<AScripts> &aScripts);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
+
+private:
+	std::string clientToken_;
+	std::vector<AScripts> aScripts_;
+	bool dryRun_;
+};
+} // namespace Model
+} // namespace Alb
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ALB_MODEL_UPDATEASCRIPTSREQUEST_H_

+ 51 - 0
alb/include/alibabacloud/alb/model/UpdateAScriptsResult.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_ALB_MODEL_UPDATEASCRIPTSRESULT_H_
+#define ALIBABACLOUD_ALB_MODEL_UPDATEASCRIPTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alb/AlbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALB_EXPORT UpdateAScriptsResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateAScriptsResult();
+				explicit UpdateAScriptsResult(const std::string &payload);
+				~UpdateAScriptsResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALB_MODEL_UPDATEASCRIPTSRESULT_H_

+ 216 - 0
alb/src/AlbClient.cc

@@ -267,6 +267,42 @@ AlbClient::AttachCommonBandwidthPackageToLoadBalancerOutcomeCallable AlbClient::
 	return task->get_future();
 }
 
+AlbClient::CreateAScriptsOutcome AlbClient::createAScripts(const CreateAScriptsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateAScriptsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateAScriptsOutcome(CreateAScriptsResult(outcome.result()));
+	else
+		return CreateAScriptsOutcome(outcome.error());
+}
+
+void AlbClient::createAScriptsAsync(const CreateAScriptsRequest& request, const CreateAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createAScripts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlbClient::CreateAScriptsOutcomeCallable AlbClient::createAScriptsCallable(const CreateAScriptsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateAScriptsOutcome()>>(
+			[this, request]()
+			{
+			return this->createAScripts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlbClient::CreateAclOutcome AlbClient::createAcl(const CreateAclRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,6 +591,42 @@ AlbClient::CreateServerGroupOutcomeCallable AlbClient::createServerGroupCallable
 	return task->get_future();
 }
 
+AlbClient::DeleteAScriptsOutcome AlbClient::deleteAScripts(const DeleteAScriptsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteAScriptsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteAScriptsOutcome(DeleteAScriptsResult(outcome.result()));
+	else
+		return DeleteAScriptsOutcome(outcome.error());
+}
+
+void AlbClient::deleteAScriptsAsync(const DeleteAScriptsRequest& request, const DeleteAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteAScripts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlbClient::DeleteAScriptsOutcomeCallable AlbClient::deleteAScriptsCallable(const DeleteAScriptsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteAScriptsOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteAScripts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlbClient::DeleteAclOutcome AlbClient::deleteAcl(const DeleteAclRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1023,6 +1095,42 @@ AlbClient::DisableLoadBalancerAccessLogOutcomeCallable AlbClient::disableLoadBal
 	return task->get_future();
 }
 
+AlbClient::DisableLoadBalancerIpv6InternetOutcome AlbClient::disableLoadBalancerIpv6Internet(const DisableLoadBalancerIpv6InternetRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DisableLoadBalancerIpv6InternetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DisableLoadBalancerIpv6InternetOutcome(DisableLoadBalancerIpv6InternetResult(outcome.result()));
+	else
+		return DisableLoadBalancerIpv6InternetOutcome(outcome.error());
+}
+
+void AlbClient::disableLoadBalancerIpv6InternetAsync(const DisableLoadBalancerIpv6InternetRequest& request, const DisableLoadBalancerIpv6InternetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, disableLoadBalancerIpv6Internet(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlbClient::DisableLoadBalancerIpv6InternetOutcomeCallable AlbClient::disableLoadBalancerIpv6InternetCallable(const DisableLoadBalancerIpv6InternetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DisableLoadBalancerIpv6InternetOutcome()>>(
+			[this, request]()
+			{
+			return this->disableLoadBalancerIpv6Internet(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlbClient::DissociateAclsFromListenerOutcome AlbClient::dissociateAclsFromListener(const DissociateAclsFromListenerRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1275,42 @@ AlbClient::EnableLoadBalancerAccessLogOutcomeCallable AlbClient::enableLoadBalan
 	return task->get_future();
 }
 
+AlbClient::EnableLoadBalancerIpv6InternetOutcome AlbClient::enableLoadBalancerIpv6Internet(const EnableLoadBalancerIpv6InternetRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EnableLoadBalancerIpv6InternetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EnableLoadBalancerIpv6InternetOutcome(EnableLoadBalancerIpv6InternetResult(outcome.result()));
+	else
+		return EnableLoadBalancerIpv6InternetOutcome(outcome.error());
+}
+
+void AlbClient::enableLoadBalancerIpv6InternetAsync(const EnableLoadBalancerIpv6InternetRequest& request, const EnableLoadBalancerIpv6InternetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, enableLoadBalancerIpv6Internet(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlbClient::EnableLoadBalancerIpv6InternetOutcomeCallable AlbClient::enableLoadBalancerIpv6InternetCallable(const EnableLoadBalancerIpv6InternetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EnableLoadBalancerIpv6InternetOutcome()>>(
+			[this, request]()
+			{
+			return this->enableLoadBalancerIpv6Internet(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlbClient::GetHealthCheckTemplateAttributeOutcome AlbClient::getHealthCheckTemplateAttribute(const GetHealthCheckTemplateAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1311,6 +1455,42 @@ AlbClient::GetLoadBalancerAttributeOutcomeCallable AlbClient::getLoadBalancerAtt
 	return task->get_future();
 }
 
+AlbClient::ListAScriptsOutcome AlbClient::listAScripts(const ListAScriptsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListAScriptsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListAScriptsOutcome(ListAScriptsResult(outcome.result()));
+	else
+		return ListAScriptsOutcome(outcome.error());
+}
+
+void AlbClient::listAScriptsAsync(const ListAScriptsRequest& request, const ListAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listAScripts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlbClient::ListAScriptsOutcomeCallable AlbClient::listAScriptsCallable(const ListAScriptsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListAScriptsOutcome()>>(
+			[this, request]()
+			{
+			return this->listAScripts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlbClient::ListAclEntriesOutcome AlbClient::listAclEntries(const ListAclEntriesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2211,6 +2391,42 @@ AlbClient::UnTagResourcesOutcomeCallable AlbClient::unTagResourcesCallable(const
 	return task->get_future();
 }
 
+AlbClient::UpdateAScriptsOutcome AlbClient::updateAScripts(const UpdateAScriptsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateAScriptsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateAScriptsOutcome(UpdateAScriptsResult(outcome.result()));
+	else
+		return UpdateAScriptsOutcome(outcome.error());
+}
+
+void AlbClient::updateAScriptsAsync(const UpdateAScriptsRequest& request, const UpdateAScriptsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateAScripts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlbClient::UpdateAScriptsOutcomeCallable AlbClient::updateAScriptsCallable(const UpdateAScriptsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateAScriptsOutcome()>>(
+			[this, request]()
+			{
+			return this->updateAScripts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlbClient::UpdateAclAttributeOutcome AlbClient::updateAclAttribute(const UpdateAclAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 73 - 0
alb/src/model/CreateAScriptsRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alb/model/CreateAScriptsRequest.h>
+
+using AlibabaCloud::Alb::Model::CreateAScriptsRequest;
+
+CreateAScriptsRequest::CreateAScriptsRequest()
+    : RpcServiceRequest("alb", "2020-06-16", "CreateAScripts") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateAScriptsRequest::~CreateAScriptsRequest() {}
+
+std::string CreateAScriptsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateAScriptsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string CreateAScriptsRequest::getListenerId() const {
+  return listenerId_;
+}
+
+void CreateAScriptsRequest::setListenerId(const std::string &listenerId) {
+  listenerId_ = listenerId;
+  setParameter(std::string("ListenerId"), listenerId);
+}
+
+std::vector<CreateAScriptsRequest::AScripts> CreateAScriptsRequest::getAScripts() const {
+  return aScripts_;
+}
+
+void CreateAScriptsRequest::setAScripts(const std::vector<CreateAScriptsRequest::AScripts> &aScripts) {
+  aScripts_ = aScripts;
+  for(int dep1 = 0; dep1 != aScripts.size(); dep1++) {
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".AScriptName", aScripts[dep1].aScriptName);
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ExtAttributeEnabled", aScripts[dep1].extAttributeEnabled ? "true" : "false");
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".Position", aScripts[dep1].position);
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ScriptContent", aScripts[dep1].scriptContent);
+    for(int dep2 = 0; dep2 != aScripts[dep1].extAttributes.size(); dep2++) {
+      setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ExtAttributes." + std::to_string(dep2 + 1) + ".AttributeValue", aScripts[dep1].extAttributes[dep2].attributeValue);
+      setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ExtAttributes." + std::to_string(dep2 + 1) + ".AttributeKey", aScripts[dep1].extAttributes[dep2].attributeKey);
+    }
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".Enabled", aScripts[dep1].enabled ? "true" : "false");
+  }
+}
+
+bool CreateAScriptsRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void CreateAScriptsRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+

+ 64 - 0
alb/src/model/CreateAScriptsResult.cc

@@ -0,0 +1,64 @@
+/*
+ * 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/alb/model/CreateAScriptsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alb;
+using namespace AlibabaCloud::Alb::Model;
+
+CreateAScriptsResult::CreateAScriptsResult() :
+	ServiceResult()
+{}
+
+CreateAScriptsResult::CreateAScriptsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateAScriptsResult::~CreateAScriptsResult()
+{}
+
+void CreateAScriptsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAScriptIdsNode = value["AScriptIds"]["AScriptId"];
+	for (auto valueAScriptIdsAScriptId : allAScriptIdsNode)
+	{
+		AScriptId aScriptIdsObject;
+		if(!valueAScriptIdsAScriptId["AScriptId"].isNull())
+			aScriptIdsObject.aScriptId = valueAScriptIdsAScriptId["AScriptId"].asString();
+		aScriptIds_.push_back(aScriptIdsObject);
+	}
+	if(!value["JobId"].isNull())
+		jobId_ = value["JobId"].asString();
+
+}
+
+std::vector<CreateAScriptsResult::AScriptId> CreateAScriptsResult::getAScriptIds()const
+{
+	return aScriptIds_;
+}
+
+std::string CreateAScriptsResult::getJobId()const
+{
+	return jobId_;
+}
+

+ 53 - 0
alb/src/model/DeleteAScriptsRequest.cc

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alb/model/DeleteAScriptsRequest.h>
+
+using AlibabaCloud::Alb::Model::DeleteAScriptsRequest;
+
+DeleteAScriptsRequest::DeleteAScriptsRequest()
+    : RpcServiceRequest("alb", "2020-06-16", "DeleteAScripts") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteAScriptsRequest::~DeleteAScriptsRequest() {}
+
+std::string DeleteAScriptsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DeleteAScriptsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+bool DeleteAScriptsRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void DeleteAScriptsRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::vector<std::string> DeleteAScriptsRequest::getAScriptIds() const {
+  return aScriptIds_;
+}
+
+void DeleteAScriptsRequest::setAScriptIds(const std::vector<std::string> &aScriptIds) {
+  aScriptIds_ = aScriptIds;
+}
+

+ 51 - 0
alb/src/model/DeleteAScriptsResult.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/alb/model/DeleteAScriptsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alb;
+using namespace AlibabaCloud::Alb::Model;
+
+DeleteAScriptsResult::DeleteAScriptsResult() :
+	ServiceResult()
+{}
+
+DeleteAScriptsResult::DeleteAScriptsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteAScriptsResult::~DeleteAScriptsResult()
+{}
+
+void DeleteAScriptsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["JobId"].isNull())
+		jobId_ = value["JobId"].asString();
+
+}
+
+std::string DeleteAScriptsResult::getJobId()const
+{
+	return jobId_;
+}
+

+ 9 - 0
alb/src/model/DescribeZonesRequest.cc

@@ -25,3 +25,12 @@ DescribeZonesRequest::DescribeZonesRequest()
 
 DescribeZonesRequest::~DescribeZonesRequest() {}
 
+std::string DescribeZonesRequest::getAcceptLanguage() const {
+  return acceptLanguage_;
+}
+
+void DescribeZonesRequest::setAcceptLanguage(const std::string &acceptLanguage) {
+  acceptLanguage_ = acceptLanguage;
+  setParameter(std::string("AcceptLanguage"), acceptLanguage);
+}
+

+ 54 - 0
alb/src/model/DisableLoadBalancerIpv6InternetRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/alb/model/DisableLoadBalancerIpv6InternetRequest.h>
+
+using AlibabaCloud::Alb::Model::DisableLoadBalancerIpv6InternetRequest;
+
+DisableLoadBalancerIpv6InternetRequest::DisableLoadBalancerIpv6InternetRequest()
+    : RpcServiceRequest("alb", "2020-06-16", "DisableLoadBalancerIpv6Internet") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DisableLoadBalancerIpv6InternetRequest::~DisableLoadBalancerIpv6InternetRequest() {}
+
+std::string DisableLoadBalancerIpv6InternetRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DisableLoadBalancerIpv6InternetRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+bool DisableLoadBalancerIpv6InternetRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void DisableLoadBalancerIpv6InternetRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::string DisableLoadBalancerIpv6InternetRequest::getLoadBalancerId() const {
+  return loadBalancerId_;
+}
+
+void DisableLoadBalancerIpv6InternetRequest::setLoadBalancerId(const std::string &loadBalancerId) {
+  loadBalancerId_ = loadBalancerId;
+  setParameter(std::string("LoadBalancerId"), loadBalancerId);
+}
+

+ 51 - 0
alb/src/model/DisableLoadBalancerIpv6InternetResult.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/alb/model/DisableLoadBalancerIpv6InternetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alb;
+using namespace AlibabaCloud::Alb::Model;
+
+DisableLoadBalancerIpv6InternetResult::DisableLoadBalancerIpv6InternetResult() :
+	ServiceResult()
+{}
+
+DisableLoadBalancerIpv6InternetResult::DisableLoadBalancerIpv6InternetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DisableLoadBalancerIpv6InternetResult::~DisableLoadBalancerIpv6InternetResult()
+{}
+
+void DisableLoadBalancerIpv6InternetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["JobId"].isNull())
+		jobId_ = value["JobId"].asString();
+
+}
+
+std::string DisableLoadBalancerIpv6InternetResult::getJobId()const
+{
+	return jobId_;
+}
+

+ 54 - 0
alb/src/model/EnableLoadBalancerIpv6InternetRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/alb/model/EnableLoadBalancerIpv6InternetRequest.h>
+
+using AlibabaCloud::Alb::Model::EnableLoadBalancerIpv6InternetRequest;
+
+EnableLoadBalancerIpv6InternetRequest::EnableLoadBalancerIpv6InternetRequest()
+    : RpcServiceRequest("alb", "2020-06-16", "EnableLoadBalancerIpv6Internet") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+EnableLoadBalancerIpv6InternetRequest::~EnableLoadBalancerIpv6InternetRequest() {}
+
+std::string EnableLoadBalancerIpv6InternetRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void EnableLoadBalancerIpv6InternetRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+bool EnableLoadBalancerIpv6InternetRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void EnableLoadBalancerIpv6InternetRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::string EnableLoadBalancerIpv6InternetRequest::getLoadBalancerId() const {
+  return loadBalancerId_;
+}
+
+void EnableLoadBalancerIpv6InternetRequest::setLoadBalancerId(const std::string &loadBalancerId) {
+  loadBalancerId_ = loadBalancerId;
+  setParameter(std::string("LoadBalancerId"), loadBalancerId);
+}
+

+ 51 - 0
alb/src/model/EnableLoadBalancerIpv6InternetResult.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/alb/model/EnableLoadBalancerIpv6InternetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alb;
+using namespace AlibabaCloud::Alb::Model;
+
+EnableLoadBalancerIpv6InternetResult::EnableLoadBalancerIpv6InternetResult() :
+	ServiceResult()
+{}
+
+EnableLoadBalancerIpv6InternetResult::EnableLoadBalancerIpv6InternetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+EnableLoadBalancerIpv6InternetResult::~EnableLoadBalancerIpv6InternetResult()
+{}
+
+void EnableLoadBalancerIpv6InternetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["JobId"].isNull())
+		jobId_ = value["JobId"].asString();
+
+}
+
+std::string EnableLoadBalancerIpv6InternetResult::getJobId()const
+{
+	return jobId_;
+}
+

+ 29 - 0
alb/src/model/GetLoadBalancerAttributeResult.cc

@@ -110,6 +110,9 @@ void GetLoadBalancerAttributeResult::parse(const std::string &payload)
 	auto allFeatureLabels = value["FeatureLabels"]["FeatureLabel"];
 	for (const auto &item : allFeatureLabels)
 		featureLabels_.push_back(item.asString());
+	auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
+	for (const auto &item : allSecurityGroupIds)
+		securityGroupIds_.push_back(item.asString());
 	if(!value["AddressAllocatedMode"].isNull())
 		addressAllocatedMode_ = value["AddressAllocatedMode"].asString();
 	if(!value["AddressType"].isNull())
@@ -148,6 +151,12 @@ void GetLoadBalancerAttributeResult::parse(const std::string &payload)
 		addressIpVersion_ = value["AddressIpVersion"].asString();
 	if(!value["Ipv6AddressType"].isNull())
 		ipv6AddressType_ = value["Ipv6AddressType"].asString();
+	if(!value["BackToOriginRouteEnabled"].isNull())
+		backToOriginRouteEnabled_ = value["BackToOriginRouteEnabled"].asString() == "true";
+	if(!value["LoadBalancerVersion"].isNull())
+		loadBalancerVersion_ = value["LoadBalancerVersion"].asString();
+	if(!value["SysSecurityGroupId"].isNull())
+		sysSecurityGroupId_ = value["SysSecurityGroupId"].asString();
 
 }
 
@@ -161,6 +170,11 @@ std::string GetLoadBalancerAttributeResult::getAddressIpVersion()const
 	return addressIpVersion_;
 }
 
+std::string GetLoadBalancerAttributeResult::getLoadBalancerVersion()const
+{
+	return loadBalancerVersion_;
+}
+
 std::string GetLoadBalancerAttributeResult::getResourceGroupId()const
 {
 	return resourceGroupId_;
@@ -206,6 +220,11 @@ std::string GetLoadBalancerAttributeResult::getServiceManagedMode()const
 	return serviceManagedMode_;
 }
 
+std::string GetLoadBalancerAttributeResult::getSysSecurityGroupId()const
+{
+	return sysSecurityGroupId_;
+}
+
 std::string GetLoadBalancerAttributeResult::getBandwidthPackageId()const
 {
 	return bandwidthPackageId_;
@@ -216,6 +235,11 @@ std::vector<GetLoadBalancerAttributeResult::Tag> GetLoadBalancerAttributeResult:
 	return tags_;
 }
 
+bool GetLoadBalancerAttributeResult::getBackToOriginRouteEnabled()const
+{
+	return backToOriginRouteEnabled_;
+}
+
 std::string GetLoadBalancerAttributeResult::getLoadBalancerEdition()const
 {
 	return loadBalancerEdition_;
@@ -236,6 +260,11 @@ GetLoadBalancerAttributeResult::ModificationProtectionConfig GetLoadBalancerAttr
 	return modificationProtectionConfig_;
 }
 
+std::vector<std::string> GetLoadBalancerAttributeResult::getSecurityGroupIds()const
+{
+	return securityGroupIds_;
+}
+
 std::string GetLoadBalancerAttributeResult::getLoadBalancerName()const
 {
 	return loadBalancerName_;

+ 78 - 0
alb/src/model/ListAScriptsRequest.cc

@@ -0,0 +1,78 @@
+/*
+ * 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/alb/model/ListAScriptsRequest.h>
+
+using AlibabaCloud::Alb::Model::ListAScriptsRequest;
+
+ListAScriptsRequest::ListAScriptsRequest()
+    : RpcServiceRequest("alb", "2020-06-16", "ListAScripts") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListAScriptsRequest::~ListAScriptsRequest() {}
+
+std::string ListAScriptsRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void ListAScriptsRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+std::vector<ListAScriptsRequest::std::string> ListAScriptsRequest::getAScriptNames() const {
+  return aScriptNames_;
+}
+
+void ListAScriptsRequest::setAScriptNames(const std::vector<ListAScriptsRequest::std::string> &aScriptNames) {
+  aScriptNames_ = aScriptNames;
+  for(int dep1 = 0; dep1 != aScriptNames.size(); dep1++) {
+    setParameter(std::string("AScriptNames") + "." + std::to_string(dep1 + 1), aScriptNames[dep1]);
+  }
+}
+
+std::vector<ListAScriptsRequest::std::string> ListAScriptsRequest::getListenerIds() const {
+  return listenerIds_;
+}
+
+void ListAScriptsRequest::setListenerIds(const std::vector<ListAScriptsRequest::std::string> &listenerIds) {
+  listenerIds_ = listenerIds;
+  for(int dep1 = 0; dep1 != listenerIds.size(); dep1++) {
+    setParameter(std::string("ListenerIds") + "." + std::to_string(dep1 + 1), listenerIds[dep1]);
+  }
+}
+
+std::vector<ListAScriptsRequest::std::string> ListAScriptsRequest::getAScriptIds() const {
+  return aScriptIds_;
+}
+
+void ListAScriptsRequest::setAScriptIds(const std::vector<ListAScriptsRequest::std::string> &aScriptIds) {
+  aScriptIds_ = aScriptIds;
+  for(int dep1 = 0; dep1 != aScriptIds.size(); dep1++) {
+    setParameter(std::string("AScriptIds") + "." + std::to_string(dep1 + 1), aScriptIds[dep1]);
+  }
+}
+
+int ListAScriptsRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void ListAScriptsRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+

+ 106 - 0
alb/src/model/ListAScriptsResult.cc

@@ -0,0 +1,106 @@
+/*
+ * 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/alb/model/ListAScriptsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alb;
+using namespace AlibabaCloud::Alb::Model;
+
+ListAScriptsResult::ListAScriptsResult() :
+	ServiceResult()
+{}
+
+ListAScriptsResult::ListAScriptsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListAScriptsResult::~ListAScriptsResult()
+{}
+
+void ListAScriptsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAScriptsNode = value["AScripts"]["AScript"];
+	for (auto valueAScriptsAScript : allAScriptsNode)
+	{
+		AScript aScriptsObject;
+		if(!valueAScriptsAScript["AScriptId"].isNull())
+			aScriptsObject.aScriptId = valueAScriptsAScript["AScriptId"].asString();
+		if(!valueAScriptsAScript["AScriptName"].isNull())
+			aScriptsObject.aScriptName = valueAScriptsAScript["AScriptName"].asString();
+		if(!valueAScriptsAScript["Priority"].isNull())
+			aScriptsObject.priority = std::stol(valueAScriptsAScript["Priority"].asString());
+		if(!valueAScriptsAScript["Position"].isNull())
+			aScriptsObject.position = valueAScriptsAScript["Position"].asString();
+		if(!valueAScriptsAScript["Enabled"].isNull())
+			aScriptsObject.enabled = valueAScriptsAScript["Enabled"].asString() == "true";
+		if(!valueAScriptsAScript["ScriptContent"].isNull())
+			aScriptsObject.scriptContent = valueAScriptsAScript["ScriptContent"].asString();
+		if(!valueAScriptsAScript["AScriptStatus"].isNull())
+			aScriptsObject.aScriptStatus = valueAScriptsAScript["AScriptStatus"].asString();
+		if(!valueAScriptsAScript["ListenerId"].isNull())
+			aScriptsObject.listenerId = valueAScriptsAScript["ListenerId"].asString();
+		if(!valueAScriptsAScript["LoadBalancerId"].isNull())
+			aScriptsObject.loadBalancerId = valueAScriptsAScript["LoadBalancerId"].asString();
+		if(!valueAScriptsAScript["ExtAttributeEnabled"].isNull())
+			aScriptsObject.extAttributeEnabled = valueAScriptsAScript["ExtAttributeEnabled"].asString() == "true";
+		auto allExtAttributesNode = valueAScriptsAScript["ExtAttributes"]["ExtAttribute"];
+		for (auto valueAScriptsAScriptExtAttributesExtAttribute : allExtAttributesNode)
+		{
+			AScript::ExtAttribute extAttributesObject;
+			if(!valueAScriptsAScriptExtAttributesExtAttribute["AttributeKey"].isNull())
+				extAttributesObject.attributeKey = valueAScriptsAScriptExtAttributesExtAttribute["AttributeKey"].asString();
+			if(!valueAScriptsAScriptExtAttributesExtAttribute["AttributeValue"].isNull())
+				extAttributesObject.attributeValue = valueAScriptsAScriptExtAttributesExtAttribute["AttributeValue"].asString();
+			aScriptsObject.extAttributes.push_back(extAttributesObject);
+		}
+		aScripts_.push_back(aScriptsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+	if(!value["MaxResults"].isNull())
+		maxResults_ = std::stoi(value["MaxResults"].asString());
+
+}
+
+int ListAScriptsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListAScriptsResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+int ListAScriptsResult::getMaxResults()const
+{
+	return maxResults_;
+}
+
+std::vector<ListAScriptsResult::AScript> ListAScriptsResult::getAScripts()const
+{
+	return aScripts_;
+}
+

+ 2 - 0
alb/src/model/ListAclsResult.cc

@@ -59,6 +59,8 @@ void ListAclsResult::parse(const std::string &payload)
 			aclsObject.serviceManagedMode = valueAclsAcl["ServiceManagedMode"].asString();
 		if(!valueAclsAcl["ConfigManagedEnabled"].isNull())
 			aclsObject.configManagedEnabled = valueAclsAcl["ConfigManagedEnabled"].asString() == "true";
+		if(!valueAclsAcl["CreateTime"].isNull())
+			aclsObject.createTime = valueAclsAcl["CreateTime"].asString();
 		acls_.push_back(aclsObject);
 	}
 	if(!value["MaxResults"].isNull())

+ 2 - 0
alb/src/model/ListSecurityPoliciesResult.cc

@@ -55,6 +55,8 @@ void ListSecurityPoliciesResult::parse(const std::string &payload)
 			securityPoliciesObject.serviceManagedEnabled = valueSecurityPoliciesSecurityPolicy["ServiceManagedEnabled"].asString() == "true";
 		if(!valueSecurityPoliciesSecurityPolicy["ServiceManagedMode"].isNull())
 			securityPoliciesObject.serviceManagedMode = valueSecurityPoliciesSecurityPolicy["ServiceManagedMode"].asString();
+		if(!valueSecurityPoliciesSecurityPolicy["CreateTime"].isNull())
+			securityPoliciesObject.createTime = valueSecurityPoliciesSecurityPolicy["CreateTime"].asString();
 		auto allCiphers = value["Ciphers"]["Cipher"];
 		for (auto value : allCiphers)
 			securityPoliciesObject.ciphers.push_back(value.asString());

+ 2 - 0
alb/src/model/ListServerGroupsResult.cc

@@ -73,6 +73,8 @@ void ListServerGroupsResult::parse(const std::string &payload)
 			serverGroupsObject.serverCount = std::stoi(valueServerGroupsServerGroup["ServerCount"].asString());
 		if(!valueServerGroupsServerGroup["ServiceName"].isNull())
 			serverGroupsObject.serviceName = valueServerGroupsServerGroup["ServiceName"].asString();
+		if(!valueServerGroupsServerGroup["CreateTime"].isNull())
+			serverGroupsObject.createTime = valueServerGroupsServerGroup["CreateTime"].asString();
 		auto allTagsNode = valueServerGroupsServerGroup["Tags"]["Tag"];
 		for (auto valueServerGroupsServerGroupTagsTag : allTagsNode)
 		{

+ 64 - 0
alb/src/model/UpdateAScriptsRequest.cc

@@ -0,0 +1,64 @@
+/*
+ * 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/alb/model/UpdateAScriptsRequest.h>
+
+using AlibabaCloud::Alb::Model::UpdateAScriptsRequest;
+
+UpdateAScriptsRequest::UpdateAScriptsRequest()
+    : RpcServiceRequest("alb", "2020-06-16", "UpdateAScripts") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateAScriptsRequest::~UpdateAScriptsRequest() {}
+
+std::string UpdateAScriptsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void UpdateAScriptsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::vector<UpdateAScriptsRequest::AScripts> UpdateAScriptsRequest::getAScripts() const {
+  return aScripts_;
+}
+
+void UpdateAScriptsRequest::setAScripts(const std::vector<UpdateAScriptsRequest::AScripts> &aScripts) {
+  aScripts_ = aScripts;
+  for(int dep1 = 0; dep1 != aScripts.size(); dep1++) {
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".AScriptName", aScripts[dep1].aScriptName);
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".AScriptId", aScripts[dep1].aScriptId);
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ExtAttributeEnabled", aScripts[dep1].extAttributeEnabled ? "true" : "false");
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ScriptContent", aScripts[dep1].scriptContent);
+    for(int dep2 = 0; dep2 != aScripts[dep1].extAttributes.size(); dep2++) {
+      setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ExtAttributes." + std::to_string(dep2 + 1) + ".AttributeValue", aScripts[dep1].extAttributes[dep2].attributeValue);
+      setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".ExtAttributes." + std::to_string(dep2 + 1) + ".AttributeKey", aScripts[dep1].extAttributes[dep2].attributeKey);
+    }
+    setParameter(std::string("AScripts") + "." + std::to_string(dep1 + 1) + ".Enabled", aScripts[dep1].enabled ? "true" : "false");
+  }
+}
+
+bool UpdateAScriptsRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void UpdateAScriptsRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+

+ 51 - 0
alb/src/model/UpdateAScriptsResult.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/alb/model/UpdateAScriptsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alb;
+using namespace AlibabaCloud::Alb::Model;
+
+UpdateAScriptsResult::UpdateAScriptsResult() :
+	ServiceResult()
+{}
+
+UpdateAScriptsResult::UpdateAScriptsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateAScriptsResult::~UpdateAScriptsResult()
+{}
+
+void UpdateAScriptsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["JobId"].isNull())
+		jobId_ = value["JobId"].asString();
+
+}
+
+std::string UpdateAScriptsResult::getJobId()const
+{
+	return jobId_;
+}
+