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

ESS SDK Auto Released By kangning.tkn,Version:1.19.1

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

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2018-07-05 Version: 1.19.1
+1, new function, attach/detach load balancer of scalingGroup
+
 2018-07-05 Version: 1.19.0
 1, A new optional parameter 'Perspectives' is introduced to the 'Chat' API. By filling this parameter when calling 'Chat', you'll get the knowledge base content within the specified perspectives.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.19.0
+1.19.1


+ 8 - 0
ess/CMakeLists.txt

@@ -71,6 +71,8 @@ set(ess_public_header_model
 	include/alibabacloud/ess/model/DescribeScalingActivitiesResult.h
 	include/alibabacloud/ess/model/ExitStandbyRequest.h
 	include/alibabacloud/ess/model/ExitStandbyResult.h
+	include/alibabacloud/ess/model/DetachLoadBalancersRequest.h
+	include/alibabacloud/ess/model/DetachLoadBalancersResult.h
 	include/alibabacloud/ess/model/DescribeNotificationConfigurationsRequest.h
 	include/alibabacloud/ess/model/DescribeNotificationConfigurationsResult.h
 	include/alibabacloud/ess/model/ModifyLifecycleHookRequest.h
@@ -95,6 +97,8 @@ set(ess_public_header_model
 	include/alibabacloud/ess/model/DescribeRegionsResult.h
 	include/alibabacloud/ess/model/SetInstancesProtectionRequest.h
 	include/alibabacloud/ess/model/SetInstancesProtectionResult.h
+	include/alibabacloud/ess/model/AttachLoadBalancersRequest.h
+	include/alibabacloud/ess/model/AttachLoadBalancersResult.h
 	include/alibabacloud/ess/model/CompleteLifecycleActionRequest.h
 	include/alibabacloud/ess/model/CompleteLifecycleActionResult.h
 	include/alibabacloud/ess/model/ModifyScalingConfigurationRequest.h
@@ -172,6 +176,8 @@ set(ess_src
 	src/model/DescribeScalingActivitiesResult.cc
 	src/model/ExitStandbyRequest.cc
 	src/model/ExitStandbyResult.cc
+	src/model/DetachLoadBalancersRequest.cc
+	src/model/DetachLoadBalancersResult.cc
 	src/model/DescribeNotificationConfigurationsRequest.cc
 	src/model/DescribeNotificationConfigurationsResult.cc
 	src/model/ModifyLifecycleHookRequest.cc
@@ -196,6 +202,8 @@ set(ess_src
 	src/model/DescribeRegionsResult.cc
 	src/model/SetInstancesProtectionRequest.cc
 	src/model/SetInstancesProtectionResult.cc
+	src/model/AttachLoadBalancersRequest.cc
+	src/model/AttachLoadBalancersResult.cc
 	src/model/CompleteLifecycleActionRequest.cc
 	src/model/CompleteLifecycleActionResult.cc
 	src/model/ModifyScalingConfigurationRequest.cc

BIN
ess/include/.DS_Store


BIN
ess/include/alibabacloud/.DS_Store


BIN
ess/include/alibabacloud/ess/.DS_Store


+ 16 - 0
ess/include/alibabacloud/ess/EssClient.h

@@ -72,6 +72,8 @@
 #include "model/DescribeScalingActivitiesResult.h"
 #include "model/ExitStandbyRequest.h"
 #include "model/ExitStandbyResult.h"
+#include "model/DetachLoadBalancersRequest.h"
+#include "model/DetachLoadBalancersResult.h"
 #include "model/DescribeNotificationConfigurationsRequest.h"
 #include "model/DescribeNotificationConfigurationsResult.h"
 #include "model/ModifyLifecycleHookRequest.h"
@@ -96,6 +98,8 @@
 #include "model/DescribeRegionsResult.h"
 #include "model/SetInstancesProtectionRequest.h"
 #include "model/SetInstancesProtectionResult.h"
+#include "model/AttachLoadBalancersRequest.h"
+#include "model/AttachLoadBalancersResult.h"
 #include "model/CompleteLifecycleActionRequest.h"
 #include "model/CompleteLifecycleActionResult.h"
 #include "model/ModifyScalingConfigurationRequest.h"
@@ -204,6 +208,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ExitStandbyResult> ExitStandbyOutcome;
 			typedef std::future<ExitStandbyOutcome> ExitStandbyOutcomeCallable;
 			typedef std::function<void(const EssClient*, const Model::ExitStandbyRequest&, const ExitStandbyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ExitStandbyAsyncHandler;
+			typedef Outcome<Error, Model::DetachLoadBalancersResult> DetachLoadBalancersOutcome;
+			typedef std::future<DetachLoadBalancersOutcome> DetachLoadBalancersOutcomeCallable;
+			typedef std::function<void(const EssClient*, const Model::DetachLoadBalancersRequest&, const DetachLoadBalancersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachLoadBalancersAsyncHandler;
 			typedef Outcome<Error, Model::DescribeNotificationConfigurationsResult> DescribeNotificationConfigurationsOutcome;
 			typedef std::future<DescribeNotificationConfigurationsOutcome> DescribeNotificationConfigurationsOutcomeCallable;
 			typedef std::function<void(const EssClient*, const Model::DescribeNotificationConfigurationsRequest&, const DescribeNotificationConfigurationsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNotificationConfigurationsAsyncHandler;
@@ -240,6 +247,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetInstancesProtectionResult> SetInstancesProtectionOutcome;
 			typedef std::future<SetInstancesProtectionOutcome> SetInstancesProtectionOutcomeCallable;
 			typedef std::function<void(const EssClient*, const Model::SetInstancesProtectionRequest&, const SetInstancesProtectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetInstancesProtectionAsyncHandler;
+			typedef Outcome<Error, Model::AttachLoadBalancersResult> AttachLoadBalancersOutcome;
+			typedef std::future<AttachLoadBalancersOutcome> AttachLoadBalancersOutcomeCallable;
+			typedef std::function<void(const EssClient*, const Model::AttachLoadBalancersRequest&, const AttachLoadBalancersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachLoadBalancersAsyncHandler;
 			typedef Outcome<Error, Model::CompleteLifecycleActionResult> CompleteLifecycleActionOutcome;
 			typedef std::future<CompleteLifecycleActionOutcome> CompleteLifecycleActionOutcomeCallable;
 			typedef std::function<void(const EssClient*, const Model::CompleteLifecycleActionRequest&, const CompleteLifecycleActionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CompleteLifecycleActionAsyncHandler;
@@ -356,6 +366,9 @@ namespace AlibabaCloud
 			ExitStandbyOutcome exitStandby(const Model::ExitStandbyRequest &request)const;
 			void exitStandbyAsync(const Model::ExitStandbyRequest& request, const ExitStandbyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ExitStandbyOutcomeCallable exitStandbyCallable(const Model::ExitStandbyRequest& request) const;
+			DetachLoadBalancersOutcome detachLoadBalancers(const Model::DetachLoadBalancersRequest &request)const;
+			void detachLoadBalancersAsync(const Model::DetachLoadBalancersRequest& request, const DetachLoadBalancersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DetachLoadBalancersOutcomeCallable detachLoadBalancersCallable(const Model::DetachLoadBalancersRequest& request) const;
 			DescribeNotificationConfigurationsOutcome describeNotificationConfigurations(const Model::DescribeNotificationConfigurationsRequest &request)const;
 			void describeNotificationConfigurationsAsync(const Model::DescribeNotificationConfigurationsRequest& request, const DescribeNotificationConfigurationsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeNotificationConfigurationsOutcomeCallable describeNotificationConfigurationsCallable(const Model::DescribeNotificationConfigurationsRequest& request) const;
@@ -392,6 +405,9 @@ namespace AlibabaCloud
 			SetInstancesProtectionOutcome setInstancesProtection(const Model::SetInstancesProtectionRequest &request)const;
 			void setInstancesProtectionAsync(const Model::SetInstancesProtectionRequest& request, const SetInstancesProtectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetInstancesProtectionOutcomeCallable setInstancesProtectionCallable(const Model::SetInstancesProtectionRequest& request) const;
+			AttachLoadBalancersOutcome attachLoadBalancers(const Model::AttachLoadBalancersRequest &request)const;
+			void attachLoadBalancersAsync(const Model::AttachLoadBalancersRequest& request, const AttachLoadBalancersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AttachLoadBalancersOutcomeCallable attachLoadBalancersCallable(const Model::AttachLoadBalancersRequest& request) const;
 			CompleteLifecycleActionOutcome completeLifecycleAction(const Model::CompleteLifecycleActionRequest &request)const;
 			void completeLifecycleActionAsync(const Model::CompleteLifecycleActionRequest& request, const CompleteLifecycleActionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CompleteLifecycleActionOutcomeCallable completeLifecycleActionCallable(const Model::CompleteLifecycleActionRequest& request) const;

+ 63 - 0
ess/include/alibabacloud/ess/EssExport.h

@@ -0,0 +1,63 @@
+/*
+ * 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_ESS_MODEL_ATTACHLOADBALANCERSREQUEST_H_
+#define ALIBABACLOUD_ESS_MODEL_ATTACHLOADBALANCERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ess/EssExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ess
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ESS_EXPORT AttachLoadBalancersRequest : public RpcServiceRequest
+			{
+
+			public:
+				AttachLoadBalancersRequest();
+				~AttachLoadBalancersRequest();
+
+				std::vector<std::string> getLoadBalancer()const;
+				void setLoadBalancer(const std::vector<std::string>& loadBalancer);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getScalingGroupId()const;
+				void setScalingGroupId(const std::string& scalingGroupId);
+				bool getForceAttach()const;
+				void setForceAttach(bool forceAttach);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<std::string> loadBalancer_;
+				std::string resourceOwnerAccount_;
+				std::string scalingGroupId_;
+				bool forceAttach_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ESS_MODEL_ATTACHLOADBALANCERSREQUEST_H_

+ 49 - 0
ess/include/alibabacloud/ess/model/AttachLoadBalancersResult.h

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

+ 63 - 0
ess/include/alibabacloud/ess/model/CompleteLifecycleActionRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_ESS_MODEL_DETACHLOADBALANCERSREQUEST_H_
+#define ALIBABACLOUD_ESS_MODEL_DETACHLOADBALANCERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ess/EssExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ess
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ESS_EXPORT DetachLoadBalancersRequest : public RpcServiceRequest
+			{
+
+			public:
+				DetachLoadBalancersRequest();
+				~DetachLoadBalancersRequest();
+
+				std::vector<std::string> getLoadBalancer()const;
+				void setLoadBalancer(const std::vector<std::string>& loadBalancer);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getScalingGroupId()const;
+				void setScalingGroupId(const std::string& scalingGroupId);
+				bool getForceDetach()const;
+				void setForceDetach(bool forceDetach);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<std::string> loadBalancer_;
+				std::string resourceOwnerAccount_;
+				std::string scalingGroupId_;
+				bool forceDetach_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ESS_MODEL_DETACHLOADBALANCERSREQUEST_H_

+ 49 - 0
ess/include/alibabacloud/ess/model/DetachLoadBalancersResult.h

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

BIN
ess/include/alibabacloud/ess/model/DisableScalingGroupRequest.h


+ 75 - 3
ess/src/EssClient.cc

@@ -31,21 +31,21 @@ EssClient::EssClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ess");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ESS");
 }
 
 EssClient::EssClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ess");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ESS");
 }
 
 EssClient::EssClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ess");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ESS");
 }
 
 EssClient::~EssClient()
@@ -951,6 +951,42 @@ EssClient::ExitStandbyOutcomeCallable EssClient::exitStandbyCallable(const ExitS
 	return task->get_future();
 }
 
+EssClient::DetachLoadBalancersOutcome EssClient::detachLoadBalancers(const DetachLoadBalancersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DetachLoadBalancersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DetachLoadBalancersOutcome(DetachLoadBalancersResult(outcome.result()));
+	else
+		return DetachLoadBalancersOutcome(outcome.error());
+}
+
+void EssClient::detachLoadBalancersAsync(const DetachLoadBalancersRequest& request, const DetachLoadBalancersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, detachLoadBalancers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EssClient::DetachLoadBalancersOutcomeCallable EssClient::detachLoadBalancersCallable(const DetachLoadBalancersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DetachLoadBalancersOutcome()>>(
+			[this, request]()
+			{
+			return this->detachLoadBalancers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EssClient::DescribeNotificationConfigurationsOutcome EssClient::describeNotificationConfigurations(const DescribeNotificationConfigurationsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1383,6 +1419,42 @@ EssClient::SetInstancesProtectionOutcomeCallable EssClient::setInstancesProtecti
 	return task->get_future();
 }
 
+EssClient::AttachLoadBalancersOutcome EssClient::attachLoadBalancers(const AttachLoadBalancersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AttachLoadBalancersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AttachLoadBalancersOutcome(AttachLoadBalancersResult(outcome.result()));
+	else
+		return AttachLoadBalancersOutcome(outcome.error());
+}
+
+void EssClient::attachLoadBalancersAsync(const AttachLoadBalancersRequest& request, const AttachLoadBalancersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, attachLoadBalancers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EssClient::AttachLoadBalancersOutcomeCallable EssClient::attachLoadBalancersCallable(const AttachLoadBalancersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AttachLoadBalancersOutcome()>>(
+			[this, request]()
+			{
+			return this->attachLoadBalancers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EssClient::CompleteLifecycleActionOutcome EssClient::completeLifecycleAction(const CompleteLifecycleActionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 94 - 0
ess/src/model/AttachInstancesRequest.cc

@@ -0,0 +1,94 @@
+/*
+ * 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/ess/model/AttachLoadBalancersRequest.h>
+
+using AlibabaCloud::Ess::Model::AttachLoadBalancersRequest;
+
+AttachLoadBalancersRequest::AttachLoadBalancersRequest() :
+	RpcServiceRequest("ess", "2014-08-28", "AttachLoadBalancers")
+{}
+
+AttachLoadBalancersRequest::~AttachLoadBalancersRequest()
+{}
+
+std::vector<std::string> AttachLoadBalancersRequest::getLoadBalancer()const
+{
+	return loadBalancer_;
+}
+
+void AttachLoadBalancersRequest::setLoadBalancer(const std::vector<std::string>& loadBalancer)
+{
+	loadBalancer_ = loadBalancer;
+	for(int i = 0; i!= loadBalancer.size(); i++)
+		setParameter("LoadBalancer."+ std::to_string(i), loadBalancer.at(i));
+}
+
+std::string AttachLoadBalancersRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void AttachLoadBalancersRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string AttachLoadBalancersRequest::getScalingGroupId()const
+{
+	return scalingGroupId_;
+}
+
+void AttachLoadBalancersRequest::setScalingGroupId(const std::string& scalingGroupId)
+{
+	scalingGroupId_ = scalingGroupId;
+	setParameter("ScalingGroupId", scalingGroupId);
+}
+
+bool AttachLoadBalancersRequest::getForceAttach()const
+{
+	return forceAttach_;
+}
+
+void AttachLoadBalancersRequest::setForceAttach(bool forceAttach)
+{
+	forceAttach_ = forceAttach;
+	setParameter("ForceAttach", std::to_string(forceAttach));
+}
+
+long AttachLoadBalancersRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void AttachLoadBalancersRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string AttachLoadBalancersRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void AttachLoadBalancersRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
ess/src/model/AttachLoadBalancersResult.cc

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

+ 94 - 0
ess/src/model/CompleteLifecycleActionRequest.cc

@@ -0,0 +1,94 @@
+/*
+ * 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/ess/model/DetachLoadBalancersRequest.h>
+
+using AlibabaCloud::Ess::Model::DetachLoadBalancersRequest;
+
+DetachLoadBalancersRequest::DetachLoadBalancersRequest() :
+	RpcServiceRequest("ess", "2014-08-28", "DetachLoadBalancers")
+{}
+
+DetachLoadBalancersRequest::~DetachLoadBalancersRequest()
+{}
+
+std::vector<std::string> DetachLoadBalancersRequest::getLoadBalancer()const
+{
+	return loadBalancer_;
+}
+
+void DetachLoadBalancersRequest::setLoadBalancer(const std::vector<std::string>& loadBalancer)
+{
+	loadBalancer_ = loadBalancer;
+	for(int i = 0; i!= loadBalancer.size(); i++)
+		setParameter("LoadBalancer."+ std::to_string(i), loadBalancer.at(i));
+}
+
+std::string DetachLoadBalancersRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DetachLoadBalancersRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DetachLoadBalancersRequest::getScalingGroupId()const
+{
+	return scalingGroupId_;
+}
+
+void DetachLoadBalancersRequest::setScalingGroupId(const std::string& scalingGroupId)
+{
+	scalingGroupId_ = scalingGroupId;
+	setParameter("ScalingGroupId", scalingGroupId);
+}
+
+bool DetachLoadBalancersRequest::getForceDetach()const
+{
+	return forceDetach_;
+}
+
+void DetachLoadBalancersRequest::setForceDetach(bool forceDetach)
+{
+	forceDetach_ = forceDetach;
+	setParameter("ForceDetach", std::to_string(forceDetach));
+}
+
+long DetachLoadBalancersRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DetachLoadBalancersRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DetachLoadBalancersRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DetachLoadBalancersRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
ess/src/model/DetachLoadBalancersResult.cc

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

+ 0 - 0
ess/src/model/DisableScalingGroupRequest.cc