Add DescribeClassDetails Api.

This commit is contained in:
sdk-team
2023-07-10 07:41:21 +00:00
parent 3495b8e165
commit ebd79f50ff
8 changed files with 430 additions and 4 deletions

View File

@@ -1 +1 @@
1.36.1642
1.36.1643

View File

@@ -163,6 +163,8 @@ set(rds_public_header_model
include/alibabacloud/rds/model/DescribeBinlogFilesResult.h
include/alibabacloud/rds/model/DescribeCharacterSetNameRequest.h
include/alibabacloud/rds/model/DescribeCharacterSetNameResult.h
include/alibabacloud/rds/model/DescribeClassDetailsRequest.h
include/alibabacloud/rds/model/DescribeClassDetailsResult.h
include/alibabacloud/rds/model/DescribeCloudMigrationPrecheckResultRequest.h
include/alibabacloud/rds/model/DescribeCloudMigrationPrecheckResultResult.h
include/alibabacloud/rds/model/DescribeCloudMigrationResultRequest.h
@@ -674,6 +676,8 @@ set(rds_src
src/model/DescribeBinlogFilesResult.cc
src/model/DescribeCharacterSetNameRequest.cc
src/model/DescribeCharacterSetNameResult.cc
src/model/DescribeClassDetailsRequest.cc
src/model/DescribeClassDetailsResult.cc
src/model/DescribeCloudMigrationPrecheckResultRequest.cc
src/model/DescribeCloudMigrationPrecheckResultResult.cc
src/model/DescribeCloudMigrationResultRequest.cc

View File

@@ -164,6 +164,8 @@
#include "model/DescribeBinlogFilesResult.h"
#include "model/DescribeCharacterSetNameRequest.h"
#include "model/DescribeCharacterSetNameResult.h"
#include "model/DescribeClassDetailsRequest.h"
#include "model/DescribeClassDetailsResult.h"
#include "model/DescribeCloudMigrationPrecheckResultRequest.h"
#include "model/DescribeCloudMigrationPrecheckResultResult.h"
#include "model/DescribeCloudMigrationResultRequest.h"
@@ -752,6 +754,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::DescribeCharacterSetNameResult> DescribeCharacterSetNameOutcome;
typedef std::future<DescribeCharacterSetNameOutcome> DescribeCharacterSetNameOutcomeCallable;
typedef std::function<void(const RdsClient*, const Model::DescribeCharacterSetNameRequest&, const DescribeCharacterSetNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCharacterSetNameAsyncHandler;
typedef Outcome<Error, Model::DescribeClassDetailsResult> DescribeClassDetailsOutcome;
typedef std::future<DescribeClassDetailsOutcome> DescribeClassDetailsOutcomeCallable;
typedef std::function<void(const RdsClient*, const Model::DescribeClassDetailsRequest&, const DescribeClassDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClassDetailsAsyncHandler;
typedef Outcome<Error, Model::DescribeCloudMigrationPrecheckResultResult> DescribeCloudMigrationPrecheckResultOutcome;
typedef std::future<DescribeCloudMigrationPrecheckResultOutcome> DescribeCloudMigrationPrecheckResultOutcomeCallable;
typedef std::function<void(const RdsClient*, const Model::DescribeCloudMigrationPrecheckResultRequest&, const DescribeCloudMigrationPrecheckResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCloudMigrationPrecheckResultAsyncHandler;
@@ -1519,6 +1524,9 @@ namespace AlibabaCloud
DescribeCharacterSetNameOutcome describeCharacterSetName(const Model::DescribeCharacterSetNameRequest &request)const;
void describeCharacterSetNameAsync(const Model::DescribeCharacterSetNameRequest& request, const DescribeCharacterSetNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeCharacterSetNameOutcomeCallable describeCharacterSetNameCallable(const Model::DescribeCharacterSetNameRequest& request) const;
DescribeClassDetailsOutcome describeClassDetails(const Model::DescribeClassDetailsRequest &request)const;
void describeClassDetailsAsync(const Model::DescribeClassDetailsRequest& request, const DescribeClassDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeClassDetailsOutcomeCallable describeClassDetailsCallable(const Model::DescribeClassDetailsRequest& request) const;
DescribeCloudMigrationPrecheckResultOutcome describeCloudMigrationPrecheckResult(const Model::DescribeCloudMigrationPrecheckResultRequest &request)const;
void describeCloudMigrationPrecheckResultAsync(const Model::DescribeCloudMigrationPrecheckResultRequest& request, const DescribeCloudMigrationPrecheckResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeCloudMigrationPrecheckResultOutcomeCallable describeCloudMigrationPrecheckResultCallable(const Model::DescribeCloudMigrationPrecheckResultRequest& request) const;

View File

@@ -0,0 +1,69 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSREQUEST_H_
#define ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSREQUEST_H_
#include <alibabacloud/rds/RdsExport.h>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <string>
#include <vector>
#include <map>
namespace AlibabaCloud {
namespace Rds {
namespace Model {
class ALIBABACLOUD_RDS_EXPORT DescribeClassDetailsRequest : public RpcServiceRequest {
public:
DescribeClassDetailsRequest();
~DescribeClassDetailsRequest();
long getResourceOwnerId() const;
void setResourceOwnerId(long resourceOwnerId);
std::string getClientToken() const;
void setClientToken(const std::string &clientToken);
std::string getEngineVersion() const;
void setEngineVersion(const std::string &engineVersion);
std::string getAccessKeyId() const;
void setAccessKeyId(const std::string &accessKeyId);
std::string getRegionId() const;
void setRegionId(const std::string &regionId);
std::string getEngine() const;
void setEngine(const std::string &engine);
std::string getClassCode() const;
void setClassCode(const std::string &classCode);
std::string getResourceOwnerAccount() const;
void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
std::string getCommodityCode() const;
void setCommodityCode(const std::string &commodityCode);
long getOwnerId() const;
void setOwnerId(long ownerId);
private:
long resourceOwnerId_;
std::string clientToken_;
std::string engineVersion_;
std::string accessKeyId_;
std::string regionId_;
std::string engine_;
std::string classCode_;
std::string resourceOwnerAccount_;
std::string commodityCode_;
long ownerId_;
};
} // namespace Model
} // namespace Rds
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSREQUEST_H_

View File

@@ -0,0 +1,71 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSRESULT_H_
#define ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/rds/RdsExport.h>
namespace AlibabaCloud
{
namespace Rds
{
namespace Model
{
class ALIBABACLOUD_RDS_EXPORT DescribeClassDetailsResult : public ServiceResult
{
public:
DescribeClassDetailsResult();
explicit DescribeClassDetailsResult(const std::string &payload);
~DescribeClassDetailsResult();
std::string getMaxIOMBPS()const;
std::string getClassCode()const;
std::string getCategory()const;
std::string getMaxConnections()const;
std::string getClassGroup()const;
std::string getCpu()const;
std::string getInstructionSetArch()const;
std::string getMemoryClass()const;
std::string getDBInstanceStorageType()const;
std::string getReferencePrice()const;
std::string getMaxIOPS()const;
protected:
void parse(const std::string &payload);
private:
std::string maxIOMBPS_;
std::string classCode_;
std::string category_;
std::string maxConnections_;
std::string classGroup_;
std::string cpu_;
std::string instructionSetArch_;
std::string memoryClass_;
std::string dBInstanceStorageType_;
std::string referencePrice_;
std::string maxIOPS_;
};
}
}
}
#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSRESULT_H_

View File

@@ -31,21 +31,21 @@ RdsClient::RdsClient(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, "");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "rds");
}
RdsClient::RdsClient(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, "");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "rds");
}
RdsClient::RdsClient(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, "");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "rds");
}
RdsClient::~RdsClient()
@@ -2607,6 +2607,42 @@ RdsClient::DescribeCharacterSetNameOutcomeCallable RdsClient::describeCharacterS
return task->get_future();
}
RdsClient::DescribeClassDetailsOutcome RdsClient::describeClassDetails(const DescribeClassDetailsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribeClassDetailsOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribeClassDetailsOutcome(DescribeClassDetailsResult(outcome.result()));
else
return DescribeClassDetailsOutcome(outcome.error());
}
void RdsClient::describeClassDetailsAsync(const DescribeClassDetailsRequest& request, const DescribeClassDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describeClassDetails(request), context);
};
asyncExecute(new Runnable(fn));
}
RdsClient::DescribeClassDetailsOutcomeCallable RdsClient::describeClassDetailsCallable(const DescribeClassDetailsRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribeClassDetailsOutcome()>>(
[this, request]()
{
return this->describeClassDetails(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
RdsClient::DescribeCloudMigrationPrecheckResultOutcome RdsClient::describeCloudMigrationPrecheckResult(const DescribeCloudMigrationPrecheckResultRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -0,0 +1,117 @@
/*
* 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/rds/model/DescribeClassDetailsRequest.h>
using AlibabaCloud::Rds::Model::DescribeClassDetailsRequest;
DescribeClassDetailsRequest::DescribeClassDetailsRequest()
: RpcServiceRequest("rds", "2014-08-15", "DescribeClassDetails") {
setMethod(HttpRequest::Method::Post);
}
DescribeClassDetailsRequest::~DescribeClassDetailsRequest() {}
long DescribeClassDetailsRequest::getResourceOwnerId() const {
return resourceOwnerId_;
}
void DescribeClassDetailsRequest::setResourceOwnerId(long resourceOwnerId) {
resourceOwnerId_ = resourceOwnerId;
setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
}
std::string DescribeClassDetailsRequest::getClientToken() const {
return clientToken_;
}
void DescribeClassDetailsRequest::setClientToken(const std::string &clientToken) {
clientToken_ = clientToken;
setParameter(std::string("ClientToken"), clientToken);
}
std::string DescribeClassDetailsRequest::getEngineVersion() const {
return engineVersion_;
}
void DescribeClassDetailsRequest::setEngineVersion(const std::string &engineVersion) {
engineVersion_ = engineVersion;
setParameter(std::string("EngineVersion"), engineVersion);
}
std::string DescribeClassDetailsRequest::getAccessKeyId() const {
return accessKeyId_;
}
void DescribeClassDetailsRequest::setAccessKeyId(const std::string &accessKeyId) {
accessKeyId_ = accessKeyId;
setParameter(std::string("AccessKeyId"), accessKeyId);
}
std::string DescribeClassDetailsRequest::getRegionId() const {
return regionId_;
}
void DescribeClassDetailsRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setParameter(std::string("RegionId"), regionId);
}
std::string DescribeClassDetailsRequest::getEngine() const {
return engine_;
}
void DescribeClassDetailsRequest::setEngine(const std::string &engine) {
engine_ = engine;
setParameter(std::string("Engine"), engine);
}
std::string DescribeClassDetailsRequest::getClassCode() const {
return classCode_;
}
void DescribeClassDetailsRequest::setClassCode(const std::string &classCode) {
classCode_ = classCode;
setParameter(std::string("ClassCode"), classCode);
}
std::string DescribeClassDetailsRequest::getResourceOwnerAccount() const {
return resourceOwnerAccount_;
}
void DescribeClassDetailsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
resourceOwnerAccount_ = resourceOwnerAccount;
setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
}
std::string DescribeClassDetailsRequest::getCommodityCode() const {
return commodityCode_;
}
void DescribeClassDetailsRequest::setCommodityCode(const std::string &commodityCode) {
commodityCode_ = commodityCode;
setParameter(std::string("CommodityCode"), commodityCode);
}
long DescribeClassDetailsRequest::getOwnerId() const {
return ownerId_;
}
void DescribeClassDetailsRequest::setOwnerId(long ownerId) {
ownerId_ = ownerId;
setParameter(std::string("OwnerId"), std::to_string(ownerId));
}

View File

@@ -0,0 +1,121 @@
/*
* 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/rds/model/DescribeClassDetailsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Rds;
using namespace AlibabaCloud::Rds::Model;
DescribeClassDetailsResult::DescribeClassDetailsResult() :
ServiceResult()
{}
DescribeClassDetailsResult::DescribeClassDetailsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeClassDetailsResult::~DescribeClassDetailsResult()
{}
void DescribeClassDetailsResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
if(!value["ClassCode"].isNull())
classCode_ = value["ClassCode"].asString();
if(!value["MaxIOMBPS"].isNull())
maxIOMBPS_ = value["MaxIOMBPS"].asString();
if(!value["MaxConnections"].isNull())
maxConnections_ = value["MaxConnections"].asString();
if(!value["ClassGroup"].isNull())
classGroup_ = value["ClassGroup"].asString();
if(!value["Cpu"].isNull())
cpu_ = value["Cpu"].asString();
if(!value["InstructionSetArch"].isNull())
instructionSetArch_ = value["InstructionSetArch"].asString();
if(!value["MemoryClass"].isNull())
memoryClass_ = value["MemoryClass"].asString();
if(!value["MaxIOPS"].isNull())
maxIOPS_ = value["MaxIOPS"].asString();
if(!value["ReferencePrice"].isNull())
referencePrice_ = value["ReferencePrice"].asString();
if(!value["Category"].isNull())
category_ = value["Category"].asString();
if(!value["DBInstanceStorageType"].isNull())
dBInstanceStorageType_ = value["DBInstanceStorageType"].asString();
}
std::string DescribeClassDetailsResult::getMaxIOMBPS()const
{
return maxIOMBPS_;
}
std::string DescribeClassDetailsResult::getClassCode()const
{
return classCode_;
}
std::string DescribeClassDetailsResult::getCategory()const
{
return category_;
}
std::string DescribeClassDetailsResult::getMaxConnections()const
{
return maxConnections_;
}
std::string DescribeClassDetailsResult::getClassGroup()const
{
return classGroup_;
}
std::string DescribeClassDetailsResult::getCpu()const
{
return cpu_;
}
std::string DescribeClassDetailsResult::getInstructionSetArch()const
{
return instructionSetArch_;
}
std::string DescribeClassDetailsResult::getMemoryClass()const
{
return memoryClass_;
}
std::string DescribeClassDetailsResult::getDBInstanceStorageType()const
{
return dBInstanceStorageType_;
}
std::string DescribeClassDetailsResult::getReferencePrice()const
{
return referencePrice_;
}
std::string DescribeClassDetailsResult::getMaxIOPS()const
{
return maxIOPS_;
}