Sfoglia il codice sorgente

Support CreateInstance API.

sdk-team 2 anni fa
parent
commit
b618f90905

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1871
+1.36.1872

+ 4 - 0
amqp-open/CMakeLists.txt

@@ -65,6 +65,8 @@ set(amqp-open_public_header_model
 	include/alibabacloud/amqp-open/model/ListQueuesResult.h
 	include/alibabacloud/amqp-open/model/ListVirtualHostsRequest.h
 	include/alibabacloud/amqp-open/model/ListVirtualHostsResult.h
+	include/alibabacloud/amqp-open/model/UpdateInstanceRequest.h
+	include/alibabacloud/amqp-open/model/UpdateInstanceResult.h
 	include/alibabacloud/amqp-open/model/UpdateInstanceNameRequest.h
 	include/alibabacloud/amqp-open/model/UpdateInstanceNameResult.h )
 
@@ -114,6 +116,8 @@ set(amqp-open_src
 	src/model/ListQueuesResult.cc
 	src/model/ListVirtualHostsRequest.cc
 	src/model/ListVirtualHostsResult.cc
+	src/model/UpdateInstanceRequest.cc
+	src/model/UpdateInstanceResult.cc
 	src/model/UpdateInstanceNameRequest.cc
 	src/model/UpdateInstanceNameResult.cc )
 

+ 8 - 0
amqp-open/include/alibabacloud/amqp-open/Amqp_openClient.h

@@ -66,6 +66,8 @@
 #include "model/ListQueuesResult.h"
 #include "model/ListVirtualHostsRequest.h"
 #include "model/ListVirtualHostsResult.h"
+#include "model/UpdateInstanceRequest.h"
+#include "model/UpdateInstanceResult.h"
 #include "model/UpdateInstanceNameRequest.h"
 #include "model/UpdateInstanceNameResult.h"
 
@@ -143,6 +145,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListVirtualHostsResult> ListVirtualHostsOutcome;
 			typedef std::future<ListVirtualHostsOutcome> ListVirtualHostsOutcomeCallable;
 			typedef std::function<void(const Amqp_openClient*, const Model::ListVirtualHostsRequest&, const ListVirtualHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListVirtualHostsAsyncHandler;
+			typedef Outcome<Error, Model::UpdateInstanceResult> UpdateInstanceOutcome;
+			typedef std::future<UpdateInstanceOutcome> UpdateInstanceOutcomeCallable;
+			typedef std::function<void(const Amqp_openClient*, const Model::UpdateInstanceRequest&, const UpdateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateInstanceAsyncHandler;
 			typedef Outcome<Error, Model::UpdateInstanceNameResult> UpdateInstanceNameOutcome;
 			typedef std::future<UpdateInstanceNameOutcome> UpdateInstanceNameOutcomeCallable;
 			typedef std::function<void(const Amqp_openClient*, const Model::UpdateInstanceNameRequest&, const UpdateInstanceNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateInstanceNameAsyncHandler;
@@ -217,6 +222,9 @@ namespace AlibabaCloud
 			ListVirtualHostsOutcome listVirtualHosts(const Model::ListVirtualHostsRequest &request)const;
 			void listVirtualHostsAsync(const Model::ListVirtualHostsRequest& request, const ListVirtualHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListVirtualHostsOutcomeCallable listVirtualHostsCallable(const Model::ListVirtualHostsRequest& request) const;
+			UpdateInstanceOutcome updateInstance(const Model::UpdateInstanceRequest &request)const;
+			void updateInstanceAsync(const Model::UpdateInstanceRequest& request, const UpdateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateInstanceOutcomeCallable updateInstanceCallable(const Model::UpdateInstanceRequest& request) const;
 			UpdateInstanceNameOutcome updateInstanceName(const Model::UpdateInstanceNameRequest &request)const;
 			void updateInstanceNameAsync(const Model::UpdateInstanceNameRequest& request, const UpdateInstanceNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateInstanceNameOutcomeCallable updateInstanceNameCallable(const Model::UpdateInstanceNameRequest& request) const;

+ 12 - 0
amqp-open/include/alibabacloud/amqp-open/model/CreateInstanceRequest.h

@@ -46,12 +46,20 @@ public:
 	void setMaxConnections(int maxConnections);
 	bool getSupportTracing() const;
 	void setSupportTracing(bool supportTracing);
+	std::string getServerlessChargeType() const;
+	void setServerlessChargeType(const std::string &serverlessChargeType);
 	std::string getInstanceType() const;
 	void setInstanceType(const std::string &instanceType);
+	std::string getRenewStatus() const;
+	void setRenewStatus(const std::string &renewStatus);
 	int getAutoRenewPeriod() const;
 	void setAutoRenewPeriod(int autoRenewPeriod);
 	int getPeriod() const;
 	void setPeriod(int period);
+	std::string getRenewalDurationUnit() const;
+	void setRenewalDurationUnit(const std::string &renewalDurationUnit);
+	std::string getInstanceName() const;
+	void setInstanceName(const std::string &instanceName);
 	bool getAutoRenew() const;
 	void setAutoRenew(bool autoRenew);
 	bool getSupportEip() const;
@@ -70,9 +78,13 @@ private:
 	int tracingStorageTime_;
 	int maxConnections_;
 	bool supportTracing_;
+	std::string serverlessChargeType_;
 	std::string instanceType_;
+	std::string renewStatus_;
 	int autoRenewPeriod_;
 	int period_;
+	std::string renewalDurationUnit_;
+	std::string instanceName_;
 	bool autoRenew_;
 	bool supportEip_;
 	long maxEipTps_;

+ 78 - 0
amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_AMQP_OPEN_MODEL_UPDATEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_UPDATEINSTANCEREQUEST_H_
+
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Amqp_open {
+namespace Model {
+class ALIBABACLOUD_AMQP_OPEN_EXPORT UpdateInstanceRequest : public RpcServiceRequest {
+public:
+	UpdateInstanceRequest();
+	~UpdateInstanceRequest();
+	long getMaxPrivateTps() const;
+	void setMaxPrivateTps(long maxPrivateTps);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	int getStorageSize() const;
+	void setStorageSize(int storageSize);
+	int getQueueCapacity() const;
+	void setQueueCapacity(int queueCapacity);
+	int getTracingStorageTime() const;
+	void setTracingStorageTime(int tracingStorageTime);
+	int getMaxConnections() const;
+	void setMaxConnections(int maxConnections);
+	bool getSupportTracing() const;
+	void setSupportTracing(bool supportTracing);
+	std::string getServerlessChargeType() const;
+	void setServerlessChargeType(const std::string &serverlessChargeType);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	bool getSupportEip() const;
+	void setSupportEip(bool supportEip);
+	std::string getModifyType() const;
+	void setModifyType(const std::string &modifyType);
+	long getMaxEipTps() const;
+	void setMaxEipTps(long maxEipTps);
+
+private:
+	long maxPrivateTps_;
+	std::string clientToken_;
+	int storageSize_;
+	int queueCapacity_;
+	int tracingStorageTime_;
+	int maxConnections_;
+	bool supportTracing_;
+	std::string serverlessChargeType_;
+	std::string instanceType_;
+	std::string instanceId_;
+	bool supportEip_;
+	std::string modifyType_;
+	long maxEipTps_;
+};
+} // namespace Model
+} // namespace Amqp_open
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_UPDATEINSTANCEREQUEST_H_

+ 49 - 0
amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceResult.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_AMQP_OPEN_MODEL_UPDATEINSTANCERESULT_H_
+#define ALIBABACLOUD_AMQP_OPEN_MODEL_UPDATEINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/amqp-open/Amqp_openExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Amqp_open
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AMQP_OPEN_EXPORT UpdateInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateInstanceResult();
+				explicit UpdateInstanceResult(const std::string &payload);
+				~UpdateInstanceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AMQP_OPEN_MODEL_UPDATEINSTANCERESULT_H_

+ 36 - 0
amqp-open/src/Amqp-openClient.cc

@@ -843,6 +843,42 @@ Amqp_openClient::ListVirtualHostsOutcomeCallable Amqp_openClient::listVirtualHos
 	return task->get_future();
 }
 
+Amqp_openClient::UpdateInstanceOutcome Amqp_openClient::updateInstance(const UpdateInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateInstanceOutcome(UpdateInstanceResult(outcome.result()));
+	else
+		return UpdateInstanceOutcome(outcome.error());
+}
+
+void Amqp_openClient::updateInstanceAsync(const UpdateInstanceRequest& request, const UpdateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Amqp_openClient::UpdateInstanceOutcomeCallable Amqp_openClient::updateInstanceCallable(const UpdateInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->updateInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Amqp_openClient::UpdateInstanceNameOutcome Amqp_openClient::updateInstanceName(const UpdateInstanceNameRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 36 - 0
amqp-open/src/model/CreateInstanceRequest.cc

@@ -97,6 +97,15 @@ void CreateInstanceRequest::setSupportTracing(bool supportTracing) {
   setParameter(std::string("SupportTracing"), supportTracing ? "true" : "false");
 }
 
+std::string CreateInstanceRequest::getServerlessChargeType() const {
+  return serverlessChargeType_;
+}
+
+void CreateInstanceRequest::setServerlessChargeType(const std::string &serverlessChargeType) {
+  serverlessChargeType_ = serverlessChargeType;
+  setParameter(std::string("ServerlessChargeType"), serverlessChargeType);
+}
+
 std::string CreateInstanceRequest::getInstanceType() const {
   return instanceType_;
 }
@@ -106,6 +115,15 @@ void CreateInstanceRequest::setInstanceType(const std::string &instanceType) {
   setParameter(std::string("InstanceType"), instanceType);
 }
 
+std::string CreateInstanceRequest::getRenewStatus() const {
+  return renewStatus_;
+}
+
+void CreateInstanceRequest::setRenewStatus(const std::string &renewStatus) {
+  renewStatus_ = renewStatus;
+  setParameter(std::string("RenewStatus"), renewStatus);
+}
+
 int CreateInstanceRequest::getAutoRenewPeriod() const {
   return autoRenewPeriod_;
 }
@@ -124,6 +142,24 @@ void CreateInstanceRequest::setPeriod(int period) {
   setParameter(std::string("Period"), std::to_string(period));
 }
 
+std::string CreateInstanceRequest::getRenewalDurationUnit() const {
+  return renewalDurationUnit_;
+}
+
+void CreateInstanceRequest::setRenewalDurationUnit(const std::string &renewalDurationUnit) {
+  renewalDurationUnit_ = renewalDurationUnit;
+  setParameter(std::string("RenewalDurationUnit"), renewalDurationUnit);
+}
+
+std::string CreateInstanceRequest::getInstanceName() const {
+  return instanceName_;
+}
+
+void CreateInstanceRequest::setInstanceName(const std::string &instanceName) {
+  instanceName_ = instanceName;
+  setParameter(std::string("InstanceName"), instanceName);
+}
+
 bool CreateInstanceRequest::getAutoRenew() const {
   return autoRenew_;
 }

+ 144 - 0
amqp-open/src/model/UpdateInstanceRequest.cc

@@ -0,0 +1,144 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/amqp-open/model/UpdateInstanceRequest.h>
+
+using AlibabaCloud::Amqp_open::Model::UpdateInstanceRequest;
+
+UpdateInstanceRequest::UpdateInstanceRequest()
+    : RpcServiceRequest("amqp-open", "2019-12-12", "UpdateInstance") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateInstanceRequest::~UpdateInstanceRequest() {}
+
+long UpdateInstanceRequest::getMaxPrivateTps() const {
+  return maxPrivateTps_;
+}
+
+void UpdateInstanceRequest::setMaxPrivateTps(long maxPrivateTps) {
+  maxPrivateTps_ = maxPrivateTps;
+  setParameter(std::string("MaxPrivateTps"), std::to_string(maxPrivateTps));
+}
+
+std::string UpdateInstanceRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void UpdateInstanceRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+int UpdateInstanceRequest::getStorageSize() const {
+  return storageSize_;
+}
+
+void UpdateInstanceRequest::setStorageSize(int storageSize) {
+  storageSize_ = storageSize;
+  setParameter(std::string("StorageSize"), std::to_string(storageSize));
+}
+
+int UpdateInstanceRequest::getQueueCapacity() const {
+  return queueCapacity_;
+}
+
+void UpdateInstanceRequest::setQueueCapacity(int queueCapacity) {
+  queueCapacity_ = queueCapacity;
+  setParameter(std::string("QueueCapacity"), std::to_string(queueCapacity));
+}
+
+int UpdateInstanceRequest::getTracingStorageTime() const {
+  return tracingStorageTime_;
+}
+
+void UpdateInstanceRequest::setTracingStorageTime(int tracingStorageTime) {
+  tracingStorageTime_ = tracingStorageTime;
+  setParameter(std::string("TracingStorageTime"), std::to_string(tracingStorageTime));
+}
+
+int UpdateInstanceRequest::getMaxConnections() const {
+  return maxConnections_;
+}
+
+void UpdateInstanceRequest::setMaxConnections(int maxConnections) {
+  maxConnections_ = maxConnections;
+  setParameter(std::string("MaxConnections"), std::to_string(maxConnections));
+}
+
+bool UpdateInstanceRequest::getSupportTracing() const {
+  return supportTracing_;
+}
+
+void UpdateInstanceRequest::setSupportTracing(bool supportTracing) {
+  supportTracing_ = supportTracing;
+  setParameter(std::string("SupportTracing"), supportTracing ? "true" : "false");
+}
+
+std::string UpdateInstanceRequest::getServerlessChargeType() const {
+  return serverlessChargeType_;
+}
+
+void UpdateInstanceRequest::setServerlessChargeType(const std::string &serverlessChargeType) {
+  serverlessChargeType_ = serverlessChargeType;
+  setParameter(std::string("ServerlessChargeType"), serverlessChargeType);
+}
+
+std::string UpdateInstanceRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void UpdateInstanceRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string UpdateInstanceRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void UpdateInstanceRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+bool UpdateInstanceRequest::getSupportEip() const {
+  return supportEip_;
+}
+
+void UpdateInstanceRequest::setSupportEip(bool supportEip) {
+  supportEip_ = supportEip;
+  setParameter(std::string("SupportEip"), supportEip ? "true" : "false");
+}
+
+std::string UpdateInstanceRequest::getModifyType() const {
+  return modifyType_;
+}
+
+void UpdateInstanceRequest::setModifyType(const std::string &modifyType) {
+  modifyType_ = modifyType;
+  setParameter(std::string("ModifyType"), modifyType);
+}
+
+long UpdateInstanceRequest::getMaxEipTps() const {
+  return maxEipTps_;
+}
+
+void UpdateInstanceRequest::setMaxEipTps(long maxEipTps) {
+  maxEipTps_ = maxEipTps;
+  setParameter(std::string("MaxEipTps"), std::to_string(maxEipTps));
+}
+

+ 44 - 0
amqp-open/src/model/UpdateInstanceResult.cc

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