Supported DescribeSubscriptionMeta for distributed subscription.

This commit is contained in:
sdk-team
2021-08-10 02:15:17 +00:00
parent 53b9df63e0
commit 24b5803214
13 changed files with 386 additions and 1 deletions

View File

@@ -1,3 +1,8 @@
2021-08-10 Version: 1.36.844
- Supported DescribeSubscriptionMeta for distributed subscription.
- Supported ParentChannelId for DescribeConsumerChannel.
- Supported Reserve for ModifyDtsJob.
2021-08-09 Version: 1.36.843
- Supported DescribeSubscriptionMeta for distributed subscription.
- Supported ParentChannelId for DescribeConsumerChannel.

View File

@@ -1 +1 @@
1.36.843
1.36.844

View File

@@ -99,6 +99,8 @@ set(dts_public_header_model
include/alibabacloud/dts/model/DescribeSubscriptionInstanceStatusResult.h
include/alibabacloud/dts/model/DescribeSubscriptionInstancesRequest.h
include/alibabacloud/dts/model/DescribeSubscriptionInstancesResult.h
include/alibabacloud/dts/model/DescribeSubscriptionMetaRequest.h
include/alibabacloud/dts/model/DescribeSubscriptionMetaResult.h
include/alibabacloud/dts/model/DescribeSynchronizationJobAlertRequest.h
include/alibabacloud/dts/model/DescribeSynchronizationJobAlertResult.h
include/alibabacloud/dts/model/DescribeSynchronizationJobReplicatorCompareRequest.h
@@ -254,6 +256,8 @@ set(dts_src
src/model/DescribeSubscriptionInstanceStatusResult.cc
src/model/DescribeSubscriptionInstancesRequest.cc
src/model/DescribeSubscriptionInstancesResult.cc
src/model/DescribeSubscriptionMetaRequest.cc
src/model/DescribeSubscriptionMetaResult.cc
src/model/DescribeSynchronizationJobAlertRequest.cc
src/model/DescribeSynchronizationJobAlertResult.cc
src/model/DescribeSynchronizationJobReplicatorCompareRequest.cc

View File

@@ -100,6 +100,8 @@
#include "model/DescribeSubscriptionInstanceStatusResult.h"
#include "model/DescribeSubscriptionInstancesRequest.h"
#include "model/DescribeSubscriptionInstancesResult.h"
#include "model/DescribeSubscriptionMetaRequest.h"
#include "model/DescribeSubscriptionMetaResult.h"
#include "model/DescribeSynchronizationJobAlertRequest.h"
#include "model/DescribeSynchronizationJobAlertResult.h"
#include "model/DescribeSynchronizationJobReplicatorCompareRequest.h"
@@ -300,6 +302,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::DescribeSubscriptionInstancesResult> DescribeSubscriptionInstancesOutcome;
typedef std::future<DescribeSubscriptionInstancesOutcome> DescribeSubscriptionInstancesOutcomeCallable;
typedef std::function<void(const DtsClient*, const Model::DescribeSubscriptionInstancesRequest&, const DescribeSubscriptionInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSubscriptionInstancesAsyncHandler;
typedef Outcome<Error, Model::DescribeSubscriptionMetaResult> DescribeSubscriptionMetaOutcome;
typedef std::future<DescribeSubscriptionMetaOutcome> DescribeSubscriptionMetaOutcomeCallable;
typedef std::function<void(const DtsClient*, const Model::DescribeSubscriptionMetaRequest&, const DescribeSubscriptionMetaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSubscriptionMetaAsyncHandler;
typedef Outcome<Error, Model::DescribeSynchronizationJobAlertResult> DescribeSynchronizationJobAlertOutcome;
typedef std::future<DescribeSynchronizationJobAlertOutcome> DescribeSynchronizationJobAlertOutcomeCallable;
typedef std::function<void(const DtsClient*, const Model::DescribeSynchronizationJobAlertRequest&, const DescribeSynchronizationJobAlertOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSynchronizationJobAlertAsyncHandler;
@@ -533,6 +538,9 @@ namespace AlibabaCloud
DescribeSubscriptionInstancesOutcome describeSubscriptionInstances(const Model::DescribeSubscriptionInstancesRequest &request)const;
void describeSubscriptionInstancesAsync(const Model::DescribeSubscriptionInstancesRequest& request, const DescribeSubscriptionInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeSubscriptionInstancesOutcomeCallable describeSubscriptionInstancesCallable(const Model::DescribeSubscriptionInstancesRequest& request) const;
DescribeSubscriptionMetaOutcome describeSubscriptionMeta(const Model::DescribeSubscriptionMetaRequest &request)const;
void describeSubscriptionMetaAsync(const Model::DescribeSubscriptionMetaRequest& request, const DescribeSubscriptionMetaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeSubscriptionMetaOutcomeCallable describeSubscriptionMetaCallable(const Model::DescribeSubscriptionMetaRequest& request) const;
DescribeSynchronizationJobAlertOutcome describeSynchronizationJobAlert(const Model::DescribeSynchronizationJobAlertRequest &request)const;
void describeSynchronizationJobAlertAsync(const Model::DescribeSynchronizationJobAlertRequest& request, const DescribeSynchronizationJobAlertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeSynchronizationJobAlertOutcomeCallable describeSynchronizationJobAlertCallable(const Model::DescribeSynchronizationJobAlertRequest& request) const;

View File

@@ -39,6 +39,8 @@ namespace AlibabaCloud
void setPageNumber(int pageNumber);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getParentChannelId()const;
void setParentChannelId(const std::string& parentChannelId);
int getPageSize()const;
void setPageSize(int pageSize);
std::string getDtsJobId()const;
@@ -49,6 +51,7 @@ namespace AlibabaCloud
private:
int pageNumber_;
std::string regionId_;
std::string parentChannelId_;
int pageSize_;
std::string dtsJobId_;
std::string dtsInstanceId_;

View File

@@ -0,0 +1,60 @@
/*
* 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_DTS_MODEL_DESCRIBESUBSCRIPTIONMETAREQUEST_H_
#define ALIBABACLOUD_DTS_MODEL_DESCRIBESUBSCRIPTIONMETAREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/dts/DtsExport.h>
namespace AlibabaCloud
{
namespace Dts
{
namespace Model
{
class ALIBABACLOUD_DTS_EXPORT DescribeSubscriptionMetaRequest : public RpcServiceRequest
{
public:
DescribeSubscriptionMetaRequest();
~DescribeSubscriptionMetaRequest();
std::string getTopics()const;
void setTopics(const std::string& topics);
std::string getSid()const;
void setSid(const std::string& sid);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getSubMigrationJobIds()const;
void setSubMigrationJobIds(const std::string& subMigrationJobIds);
std::string getDtsInstanceId()const;
void setDtsInstanceId(const std::string& dtsInstanceId);
private:
std::string topics_;
std::string sid_;
std::string regionId_;
std::string subMigrationJobIds_;
std::string dtsInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_DTS_MODEL_DESCRIBESUBSCRIPTIONMETAREQUEST_H_

View File

@@ -0,0 +1,67 @@
/*
* 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_DTS_MODEL_DESCRIBESUBSCRIPTIONMETARESULT_H_
#define ALIBABACLOUD_DTS_MODEL_DESCRIBESUBSCRIPTIONMETARESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/dts/DtsExport.h>
namespace AlibabaCloud
{
namespace Dts
{
namespace Model
{
class ALIBABACLOUD_DTS_EXPORT DescribeSubscriptionMetaResult : public ServiceResult
{
public:
struct SubscriptionMetaListItem
{
long checkpoint;
std::string dBList;
std::string dProxyUrl;
std::string topic;
std::string sid;
};
DescribeSubscriptionMetaResult();
explicit DescribeSubscriptionMetaResult(const std::string &payload);
~DescribeSubscriptionMetaResult();
std::vector<SubscriptionMetaListItem> getSubscriptionMetaList()const;
std::string getHttpStatusCode()const;
std::string getErrMessage()const;
std::string getSuccess()const;
std::string getErrCode()const;
protected:
void parse(const std::string &payload);
private:
std::vector<SubscriptionMetaListItem> subscriptionMetaList_;
std::string httpStatusCode_;
std::string errMessage_;
std::string success_;
std::string errCode_;
};
}
}
}
#endif // !ALIBABACLOUD_DTS_MODEL_DESCRIBESUBSCRIPTIONMETARESULT_H_

View File

@@ -45,6 +45,8 @@ namespace AlibabaCloud
void setAccessKeyId(const std::string& accessKeyId);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getReserve()const;
void setReserve(const std::string& reserve);
std::string getDtsInstanceId()const;
void setDtsInstanceId(const std::string& dtsInstanceId);
std::string getSynchronizationDirection()const;
@@ -56,6 +58,7 @@ namespace AlibabaCloud
std::string ownerId_;
std::string accessKeyId_;
std::string regionId_;
std::string reserve_;
std::string dtsInstanceId_;
std::string synchronizationDirection_;

View File

@@ -1455,6 +1455,42 @@ DtsClient::DescribeSubscriptionInstancesOutcomeCallable DtsClient::describeSubsc
return task->get_future();
}
DtsClient::DescribeSubscriptionMetaOutcome DtsClient::describeSubscriptionMeta(const DescribeSubscriptionMetaRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribeSubscriptionMetaOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribeSubscriptionMetaOutcome(DescribeSubscriptionMetaResult(outcome.result()));
else
return DescribeSubscriptionMetaOutcome(outcome.error());
}
void DtsClient::describeSubscriptionMetaAsync(const DescribeSubscriptionMetaRequest& request, const DescribeSubscriptionMetaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describeSubscriptionMeta(request), context);
};
asyncExecute(new Runnable(fn));
}
DtsClient::DescribeSubscriptionMetaOutcomeCallable DtsClient::describeSubscriptionMetaCallable(const DescribeSubscriptionMetaRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribeSubscriptionMetaOutcome()>>(
[this, request]()
{
return this->describeSubscriptionMeta(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
DtsClient::DescribeSynchronizationJobAlertOutcome DtsClient::describeSynchronizationJobAlert(const DescribeSynchronizationJobAlertRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -49,6 +49,17 @@ void DescribeConsumerChannelRequest::setRegionId(const std::string& regionId)
setParameter("RegionId", regionId);
}
std::string DescribeConsumerChannelRequest::getParentChannelId()const
{
return parentChannelId_;
}
void DescribeConsumerChannelRequest::setParentChannelId(const std::string& parentChannelId)
{
parentChannelId_ = parentChannelId;
setParameter("ParentChannelId", parentChannelId);
}
int DescribeConsumerChannelRequest::getPageSize()const
{
return pageSize_;

View File

@@ -0,0 +1,84 @@
/*
* 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/dts/model/DescribeSubscriptionMetaRequest.h>
using AlibabaCloud::Dts::Model::DescribeSubscriptionMetaRequest;
DescribeSubscriptionMetaRequest::DescribeSubscriptionMetaRequest() :
RpcServiceRequest("dts", "2020-01-01", "DescribeSubscriptionMeta")
{
setMethod(HttpRequest::Method::Post);
}
DescribeSubscriptionMetaRequest::~DescribeSubscriptionMetaRequest()
{}
std::string DescribeSubscriptionMetaRequest::getTopics()const
{
return topics_;
}
void DescribeSubscriptionMetaRequest::setTopics(const std::string& topics)
{
topics_ = topics;
setParameter("Topics", topics);
}
std::string DescribeSubscriptionMetaRequest::getSid()const
{
return sid_;
}
void DescribeSubscriptionMetaRequest::setSid(const std::string& sid)
{
sid_ = sid;
setParameter("Sid", sid);
}
std::string DescribeSubscriptionMetaRequest::getRegionId()const
{
return regionId_;
}
void DescribeSubscriptionMetaRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string DescribeSubscriptionMetaRequest::getSubMigrationJobIds()const
{
return subMigrationJobIds_;
}
void DescribeSubscriptionMetaRequest::setSubMigrationJobIds(const std::string& subMigrationJobIds)
{
subMigrationJobIds_ = subMigrationJobIds;
setParameter("SubMigrationJobIds", subMigrationJobIds);
}
std::string DescribeSubscriptionMetaRequest::getDtsInstanceId()const
{
return dtsInstanceId_;
}
void DescribeSubscriptionMetaRequest::setDtsInstanceId(const std::string& dtsInstanceId)
{
dtsInstanceId_ = dtsInstanceId;
setParameter("DtsInstanceId", dtsInstanceId);
}

View File

@@ -0,0 +1,93 @@
/*
* 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/dts/model/DescribeSubscriptionMetaResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Dts;
using namespace AlibabaCloud::Dts::Model;
DescribeSubscriptionMetaResult::DescribeSubscriptionMetaResult() :
ServiceResult()
{}
DescribeSubscriptionMetaResult::DescribeSubscriptionMetaResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeSubscriptionMetaResult::~DescribeSubscriptionMetaResult()
{}
void DescribeSubscriptionMetaResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allSubscriptionMetaListNode = value["SubscriptionMetaList"]["SubscriptionMetaListItem"];
for (auto valueSubscriptionMetaListSubscriptionMetaListItem : allSubscriptionMetaListNode)
{
SubscriptionMetaListItem subscriptionMetaListObject;
if(!valueSubscriptionMetaListSubscriptionMetaListItem["DProxyUrl"].isNull())
subscriptionMetaListObject.dProxyUrl = valueSubscriptionMetaListSubscriptionMetaListItem["DProxyUrl"].asString();
if(!valueSubscriptionMetaListSubscriptionMetaListItem["Topic"].isNull())
subscriptionMetaListObject.topic = valueSubscriptionMetaListSubscriptionMetaListItem["Topic"].asString();
if(!valueSubscriptionMetaListSubscriptionMetaListItem["Sid"].isNull())
subscriptionMetaListObject.sid = valueSubscriptionMetaListSubscriptionMetaListItem["Sid"].asString();
if(!valueSubscriptionMetaListSubscriptionMetaListItem["Checkpoint"].isNull())
subscriptionMetaListObject.checkpoint = std::stol(valueSubscriptionMetaListSubscriptionMetaListItem["Checkpoint"].asString());
if(!valueSubscriptionMetaListSubscriptionMetaListItem["DBList"].isNull())
subscriptionMetaListObject.dBList = valueSubscriptionMetaListSubscriptionMetaListItem["DBList"].asString();
subscriptionMetaList_.push_back(subscriptionMetaListObject);
}
if(!value["ErrCode"].isNull())
errCode_ = value["ErrCode"].asString();
if(!value["ErrMessage"].isNull())
errMessage_ = value["ErrMessage"].asString();
if(!value["HttpStatusCode"].isNull())
httpStatusCode_ = value["HttpStatusCode"].asString();
if(!value["Success"].isNull())
success_ = value["Success"].asString();
}
std::vector<DescribeSubscriptionMetaResult::SubscriptionMetaListItem> DescribeSubscriptionMetaResult::getSubscriptionMetaList()const
{
return subscriptionMetaList_;
}
std::string DescribeSubscriptionMetaResult::getHttpStatusCode()const
{
return httpStatusCode_;
}
std::string DescribeSubscriptionMetaResult::getErrMessage()const
{
return errMessage_;
}
std::string DescribeSubscriptionMetaResult::getSuccess()const
{
return success_;
}
std::string DescribeSubscriptionMetaResult::getErrCode()const
{
return errCode_;
}

View File

@@ -82,6 +82,17 @@ void ModifyDtsJobRequest::setRegionId(const std::string& regionId)
setParameter("RegionId", regionId);
}
std::string ModifyDtsJobRequest::getReserve()const
{
return reserve_;
}
void ModifyDtsJobRequest::setReserve(const std::string& reserve)
{
reserve_ = reserve;
setBodyParameter("Reserve", reserve);
}
std::string ModifyDtsJobRequest::getDtsInstanceId()const
{
return dtsInstanceId_;