Support not switching routes when VBR health check fails.
This commit is contained in:
@@ -38,12 +38,13 @@ namespace AlibabaCloud
|
||||
std::string linkStatus;
|
||||
int healthCheckInterval;
|
||||
std::string vbrInstanceId;
|
||||
std::string healthCheckSourceIp;
|
||||
int healthyThreshold;
|
||||
std::string healthCheckSourceIp;
|
||||
std::string cenId;
|
||||
long packetLoss;
|
||||
std::string healthCheckTargetIp;
|
||||
long delay;
|
||||
bool healthCheckOnly;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace AlibabaCloud
|
||||
struct GrantRule
|
||||
{
|
||||
std::string childInstanceType;
|
||||
std::string orderType;
|
||||
std::string cenId;
|
||||
long childInstanceOwnerId;
|
||||
std::string childInstanceId;
|
||||
|
||||
@@ -45,6 +45,8 @@ namespace AlibabaCloud
|
||||
void setHealthyThreshold(int healthyThreshold);
|
||||
long getVbrInstanceOwnerId()const;
|
||||
void setVbrInstanceOwnerId(long vbrInstanceOwnerId);
|
||||
bool getHealthCheckOnly()const;
|
||||
void setHealthCheckOnly(bool healthCheckOnly);
|
||||
std::string getVbrInstanceRegionId()const;
|
||||
void setVbrInstanceRegionId(const std::string& vbrInstanceRegionId);
|
||||
std::string getResourceOwnerAccount()const;
|
||||
@@ -66,6 +68,7 @@ namespace AlibabaCloud
|
||||
std::string healthCheckTargetIp_;
|
||||
int healthyThreshold_;
|
||||
long vbrInstanceOwnerId_;
|
||||
bool healthCheckOnly_;
|
||||
std::string vbrInstanceRegionId_;
|
||||
std::string resourceOwnerAccount_;
|
||||
std::string ownerAccount_;
|
||||
|
||||
@@ -43,34 +43,36 @@ void DescribeCenVbrHealthCheckResult::parse(const std::string &payload)
|
||||
for (auto valueVbrHealthChecksVbrHealthCheck : allVbrHealthChecksNode)
|
||||
{
|
||||
VbrHealthCheck vbrHealthChecksObject;
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["CenId"].isNull())
|
||||
vbrHealthChecksObject.cenId = valueVbrHealthChecksVbrHealthCheck["CenId"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["VbrInstanceId"].isNull())
|
||||
vbrHealthChecksObject.vbrInstanceId = valueVbrHealthChecksVbrHealthCheck["VbrInstanceId"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["LinkStatus"].isNull())
|
||||
vbrHealthChecksObject.linkStatus = valueVbrHealthChecksVbrHealthCheck["LinkStatus"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["PacketLoss"].isNull())
|
||||
vbrHealthChecksObject.packetLoss = std::stol(valueVbrHealthChecksVbrHealthCheck["PacketLoss"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthCheckSourceIp"].isNull())
|
||||
vbrHealthChecksObject.healthCheckSourceIp = valueVbrHealthChecksVbrHealthCheck["HealthCheckSourceIp"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthCheckTargetIp"].isNull())
|
||||
vbrHealthChecksObject.healthCheckTargetIp = valueVbrHealthChecksVbrHealthCheck["HealthCheckTargetIp"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["Delay"].isNull())
|
||||
vbrHealthChecksObject.delay = std::stol(valueVbrHealthChecksVbrHealthCheck["Delay"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthCheckInterval"].isNull())
|
||||
vbrHealthChecksObject.healthCheckInterval = std::stoi(valueVbrHealthChecksVbrHealthCheck["HealthCheckInterval"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthyThreshold"].isNull())
|
||||
vbrHealthChecksObject.healthyThreshold = std::stoi(valueVbrHealthChecksVbrHealthCheck["HealthyThreshold"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["VbrInstanceId"].isNull())
|
||||
vbrHealthChecksObject.vbrInstanceId = valueVbrHealthChecksVbrHealthCheck["VbrInstanceId"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["VbrInstanceRegionId"].isNull())
|
||||
vbrHealthChecksObject.vbrInstanceRegionId = valueVbrHealthChecksVbrHealthCheck["VbrInstanceRegionId"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["Delay"].isNull())
|
||||
vbrHealthChecksObject.delay = std::stol(valueVbrHealthChecksVbrHealthCheck["Delay"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["LinkStatus"].isNull())
|
||||
vbrHealthChecksObject.linkStatus = valueVbrHealthChecksVbrHealthCheck["LinkStatus"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["CenId"].isNull())
|
||||
vbrHealthChecksObject.cenId = valueVbrHealthChecksVbrHealthCheck["CenId"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthyThreshold"].isNull())
|
||||
vbrHealthChecksObject.healthyThreshold = std::stoi(valueVbrHealthChecksVbrHealthCheck["HealthyThreshold"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthCheckInterval"].isNull())
|
||||
vbrHealthChecksObject.healthCheckInterval = std::stoi(valueVbrHealthChecksVbrHealthCheck["HealthCheckInterval"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthCheckSourceIp"].isNull())
|
||||
vbrHealthChecksObject.healthCheckSourceIp = valueVbrHealthChecksVbrHealthCheck["HealthCheckSourceIp"].asString();
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["PacketLoss"].isNull())
|
||||
vbrHealthChecksObject.packetLoss = std::stol(valueVbrHealthChecksVbrHealthCheck["PacketLoss"].asString());
|
||||
if(!valueVbrHealthChecksVbrHealthCheck["HealthCheckOnly"].isNull())
|
||||
vbrHealthChecksObject.healthCheckOnly = valueVbrHealthChecksVbrHealthCheck["HealthCheckOnly"].asString() == "true";
|
||||
vbrHealthChecks_.push_back(vbrHealthChecksObject);
|
||||
}
|
||||
if(!value["TotalCount"].isNull())
|
||||
totalCount_ = std::stoi(value["TotalCount"].asString());
|
||||
if(!value["PageNumber"].isNull())
|
||||
pageNumber_ = std::stoi(value["PageNumber"].asString());
|
||||
if(!value["PageSize"].isNull())
|
||||
pageSize_ = std::stoi(value["PageSize"].asString());
|
||||
if(!value["PageNumber"].isNull())
|
||||
pageNumber_ = std::stoi(value["PageNumber"].asString());
|
||||
if(!value["TotalCount"].isNull())
|
||||
totalCount_ = std::stoi(value["TotalCount"].asString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -43,16 +43,18 @@ void DescribeGrantRulesToCenResult::parse(const std::string &payload)
|
||||
for (auto valueGrantRulesGrantRule : allGrantRulesNode)
|
||||
{
|
||||
GrantRule grantRulesObject;
|
||||
if(!valueGrantRulesGrantRule["CenId"].isNull())
|
||||
grantRulesObject.cenId = valueGrantRulesGrantRule["CenId"].asString();
|
||||
if(!valueGrantRulesGrantRule["ChildInstanceRegionId"].isNull())
|
||||
grantRulesObject.childInstanceRegionId = valueGrantRulesGrantRule["ChildInstanceRegionId"].asString();
|
||||
if(!valueGrantRulesGrantRule["ChildInstanceType"].isNull())
|
||||
grantRulesObject.childInstanceType = valueGrantRulesGrantRule["ChildInstanceType"].asString();
|
||||
if(!valueGrantRulesGrantRule["ChildInstanceId"].isNull())
|
||||
grantRulesObject.childInstanceId = valueGrantRulesGrantRule["ChildInstanceId"].asString();
|
||||
if(!valueGrantRulesGrantRule["ChildInstanceRegionId"].isNull())
|
||||
grantRulesObject.childInstanceRegionId = valueGrantRulesGrantRule["ChildInstanceRegionId"].asString();
|
||||
if(!valueGrantRulesGrantRule["ChildInstanceOwnerId"].isNull())
|
||||
grantRulesObject.childInstanceOwnerId = std::stol(valueGrantRulesGrantRule["ChildInstanceOwnerId"].asString());
|
||||
if(!valueGrantRulesGrantRule["ChildInstanceId"].isNull())
|
||||
grantRulesObject.childInstanceId = valueGrantRulesGrantRule["ChildInstanceId"].asString();
|
||||
if(!valueGrantRulesGrantRule["CenId"].isNull())
|
||||
grantRulesObject.cenId = valueGrantRulesGrantRule["CenId"].asString();
|
||||
if(!valueGrantRulesGrantRule["OrderType"].isNull())
|
||||
grantRulesObject.orderType = valueGrantRulesGrantRule["OrderType"].asString();
|
||||
grantRules_.push_back(grantRulesObject);
|
||||
}
|
||||
|
||||
|
||||
@@ -82,6 +82,17 @@ void EnableCenVbrHealthCheckRequest::setVbrInstanceOwnerId(long vbrInstanceOwner
|
||||
setParameter("VbrInstanceOwnerId", std::to_string(vbrInstanceOwnerId));
|
||||
}
|
||||
|
||||
bool EnableCenVbrHealthCheckRequest::getHealthCheckOnly()const
|
||||
{
|
||||
return healthCheckOnly_;
|
||||
}
|
||||
|
||||
void EnableCenVbrHealthCheckRequest::setHealthCheckOnly(bool healthCheckOnly)
|
||||
{
|
||||
healthCheckOnly_ = healthCheckOnly;
|
||||
setParameter("HealthCheckOnly", healthCheckOnly ? "true" : "false");
|
||||
}
|
||||
|
||||
std::string EnableCenVbrHealthCheckRequest::getVbrInstanceRegionId()const
|
||||
{
|
||||
return vbrInstanceRegionId_;
|
||||
|
||||
Reference in New Issue
Block a user