From b618f90905dc1a5a3b8821c82a76b1de56de15c0 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Fri, 8 Mar 2024 03:25:51 +0000 Subject: [PATCH] Support CreateInstance API. --- VERSION | 2 +- amqp-open/CMakeLists.txt | 4 + .../alibabacloud/amqp-open/Amqp_openClient.h | 8 + .../amqp-open/model/CreateInstanceRequest.h | 12 ++ .../amqp-open/model/UpdateInstanceRequest.h | 78 ++++++++++ .../amqp-open/model/UpdateInstanceResult.h | 49 ++++++ amqp-open/src/Amqp-openClient.cc | 36 +++++ amqp-open/src/model/CreateInstanceRequest.cc | 36 +++++ amqp-open/src/model/UpdateInstanceRequest.cc | 144 ++++++++++++++++++ amqp-open/src/model/UpdateInstanceResult.cc | 44 ++++++ 10 files changed, 412 insertions(+), 1 deletion(-) create mode 100644 amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceRequest.h create mode 100644 amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceResult.h create mode 100644 amqp-open/src/model/UpdateInstanceRequest.cc create mode 100644 amqp-open/src/model/UpdateInstanceResult.cc diff --git a/VERSION b/VERSION index 8e23229b6..b37156c0f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1871 \ No newline at end of file +1.36.1872 \ No newline at end of file diff --git a/amqp-open/CMakeLists.txt b/amqp-open/CMakeLists.txt index b4c6b6d61..a0aa5eb1e 100644 --- a/amqp-open/CMakeLists.txt +++ b/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 ) diff --git a/amqp-open/include/alibabacloud/amqp-open/Amqp_openClient.h b/amqp-open/include/alibabacloud/amqp-open/Amqp_openClient.h index 8c422d15c..f04c92143 100644 --- a/amqp-open/include/alibabacloud/amqp-open/Amqp_openClient.h +++ b/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 ListVirtualHostsOutcome; typedef std::future ListVirtualHostsOutcomeCallable; typedef std::function&)> ListVirtualHostsAsyncHandler; + typedef Outcome UpdateInstanceOutcome; + typedef std::future UpdateInstanceOutcomeCallable; + typedef std::function&)> UpdateInstanceAsyncHandler; typedef Outcome UpdateInstanceNameOutcome; typedef std::future UpdateInstanceNameOutcomeCallable; typedef std::function&)> 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& 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& 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& context = nullptr) const; UpdateInstanceNameOutcomeCallable updateInstanceNameCallable(const Model::UpdateInstanceNameRequest& request) const; diff --git a/amqp-open/include/alibabacloud/amqp-open/model/CreateInstanceRequest.h b/amqp-open/include/alibabacloud/amqp-open/model/CreateInstanceRequest.h index 3f25261b6..86039e426 100644 --- a/amqp-open/include/alibabacloud/amqp-open/model/CreateInstanceRequest.h +++ b/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_; diff --git a/amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceRequest.h b/amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceRequest.h new file mode 100644 index 000000000..44ac0d964 --- /dev/null +++ b/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 +#include +#include +#include +#include + +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_ diff --git a/amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceResult.h b/amqp-open/include/alibabacloud/amqp-open/model/UpdateInstanceResult.h new file mode 100644 index 000000000..03a998548 --- /dev/null +++ b/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 +#include +#include +#include +#include + +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_ \ No newline at end of file diff --git a/amqp-open/src/Amqp-openClient.cc b/amqp-open/src/Amqp-openClient.cc index bead3344c..81a1c5deb 100644 --- a/amqp-open/src/Amqp-openClient.cc +++ b/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& 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>( + [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(); diff --git a/amqp-open/src/model/CreateInstanceRequest.cc b/amqp-open/src/model/CreateInstanceRequest.cc index 366e56abf..454d4146a 100644 --- a/amqp-open/src/model/CreateInstanceRequest.cc +++ b/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_; } diff --git a/amqp-open/src/model/UpdateInstanceRequest.cc b/amqp-open/src/model/UpdateInstanceRequest.cc new file mode 100644 index 000000000..fcf4f3169 --- /dev/null +++ b/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 + +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)); +} + diff --git a/amqp-open/src/model/UpdateInstanceResult.cc b/amqp-open/src/model/UpdateInstanceResult.cc new file mode 100644 index 000000000..c147a714a --- /dev/null +++ b/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 +#include + +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()); + +} +