Support ResourceGroup.

This commit is contained in:
sdk-team
2023-01-10 06:13:01 +00:00
parent 3951dffc62
commit feb2a1a569
30 changed files with 1315 additions and 3 deletions

View File

@@ -87,6 +87,42 @@ EaisClient::AttachEaiOutcomeCallable EaisClient::attachEaiCallable(const AttachE
return task->get_future();
}
EaisClient::ChangeResourceGroupOutcome EaisClient::changeResourceGroup(const ChangeResourceGroupRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ChangeResourceGroupOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ChangeResourceGroupOutcome(ChangeResourceGroupResult(outcome.result()));
else
return ChangeResourceGroupOutcome(outcome.error());
}
void EaisClient::changeResourceGroupAsync(const ChangeResourceGroupRequest& request, const ChangeResourceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, changeResourceGroup(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::ChangeResourceGroupOutcomeCallable EaisClient::changeResourceGroupCallable(const ChangeResourceGroupRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ChangeResourceGroupOutcome()>>(
[this, request]()
{
return this->changeResourceGroup(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::CreateEaiOutcome EaisClient::createEai(const CreateEaiRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -159,6 +195,78 @@ EaisClient::CreateEaiAllOutcomeCallable EaisClient::createEaiAllCallable(const C
return task->get_future();
}
EaisClient::CreateEaiEciOutcome EaisClient::createEaiEci(const CreateEaiEciRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return CreateEaiEciOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return CreateEaiEciOutcome(CreateEaiEciResult(outcome.result()));
else
return CreateEaiEciOutcome(outcome.error());
}
void EaisClient::createEaiEciAsync(const CreateEaiEciRequest& request, const CreateEaiEciAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, createEaiEci(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::CreateEaiEciOutcomeCallable EaisClient::createEaiEciCallable(const CreateEaiEciRequest &request) const
{
auto task = std::make_shared<std::packaged_task<CreateEaiEciOutcome()>>(
[this, request]()
{
return this->createEaiEci(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::CreateEaiEcsOutcome EaisClient::createEaiEcs(const CreateEaiEcsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return CreateEaiEcsOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return CreateEaiEcsOutcome(CreateEaiEcsResult(outcome.result()));
else
return CreateEaiEcsOutcome(outcome.error());
}
void EaisClient::createEaiEcsAsync(const CreateEaiEcsRequest& request, const CreateEaiEcsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, createEaiEcs(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::CreateEaiEcsOutcomeCallable EaisClient::createEaiEcsCallable(const CreateEaiEcsRequest &request) const
{
auto task = std::make_shared<std::packaged_task<CreateEaiEcsOutcome()>>(
[this, request]()
{
return this->createEaiEcs(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::CreateEaiJupyterOutcome EaisClient::createEaiJupyter(const CreateEaiJupyterRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -375,3 +483,39 @@ EaisClient::DetachEaiOutcomeCallable EaisClient::detachEaiCallable(const DetachE
return task->get_future();
}
EaisClient::GetInstanceMetricsOutcome EaisClient::getInstanceMetrics(const GetInstanceMetricsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return GetInstanceMetricsOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return GetInstanceMetricsOutcome(GetInstanceMetricsResult(outcome.result()));
else
return GetInstanceMetricsOutcome(outcome.error());
}
void EaisClient::getInstanceMetricsAsync(const GetInstanceMetricsRequest& request, const GetInstanceMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, getInstanceMetrics(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::GetInstanceMetricsOutcomeCallable EaisClient::getInstanceMetricsCallable(const GetInstanceMetricsRequest &request) const
{
auto task = std::make_shared<std::packaged_task<GetInstanceMetricsOutcome()>>(
[this, request]()
{
return this->getInstanceMetrics(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}

View File

@@ -0,0 +1,72 @@
/*
* 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/eais/model/ChangeResourceGroupRequest.h>
using AlibabaCloud::Eais::Model::ChangeResourceGroupRequest;
ChangeResourceGroupRequest::ChangeResourceGroupRequest()
: RpcServiceRequest("eais", "2019-06-24", "ChangeResourceGroup") {
setMethod(HttpRequest::Method::Post);
}
ChangeResourceGroupRequest::~ChangeResourceGroupRequest() {}
std::string ChangeResourceGroupRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void ChangeResourceGroupRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
std::string ChangeResourceGroupRequest::getResourceRegionId() const {
return resourceRegionId_;
}
void ChangeResourceGroupRequest::setResourceRegionId(const std::string &resourceRegionId) {
resourceRegionId_ = resourceRegionId;
setParameter(std::string("ResourceRegionId"), resourceRegionId);
}
std::string ChangeResourceGroupRequest::getResourceId() const {
return resourceId_;
}
void ChangeResourceGroupRequest::setResourceId(const std::string &resourceId) {
resourceId_ = resourceId;
setParameter(std::string("ResourceId"), resourceId);
}
std::string ChangeResourceGroupRequest::getResourceType() const {
return resourceType_;
}
void ChangeResourceGroupRequest::setResourceType(const std::string &resourceType) {
resourceType_ = resourceType;
setParameter(std::string("ResourceType"), resourceType);
}
std::string ChangeResourceGroupRequest::getService() const {
return service_;
}
void ChangeResourceGroupRequest::setService(const std::string &service) {
service_ = service;
setParameter(std::string("Service"), service);
}

View File

@@ -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/eais/model/ChangeResourceGroupResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
ChangeResourceGroupResult::ChangeResourceGroupResult() :
ServiceResult()
{}
ChangeResourceGroupResult::ChangeResourceGroupResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ChangeResourceGroupResult::~ChangeResourceGroupResult()
{}
void ChangeResourceGroupResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
}

View File

@@ -61,6 +61,15 @@ void CreateEaiAllRequest::setClientToken(const std::string &clientToken) {
setParameter(std::string("ClientToken"), clientToken);
}
std::string CreateEaiAllRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void CreateEaiAllRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
std::string CreateEaiAllRequest::getClientInstanceName() const {
return clientInstanceName_;
}

View File

@@ -0,0 +1,107 @@
/*
* 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/eais/model/CreateEaiEciRequest.h>
using AlibabaCloud::Eais::Model::CreateEaiEciRequest;
CreateEaiEciRequest::CreateEaiEciRequest()
: RpcServiceRequest("eais", "2019-06-24", "CreateEaiEci") {
setMethod(HttpRequest::Method::Post);
}
CreateEaiEciRequest::~CreateEaiEciRequest() {}
std::string CreateEaiEciRequest::getClientToken() const {
return clientToken_;
}
void CreateEaiEciRequest::setClientToken(const std::string &clientToken) {
clientToken_ = clientToken;
setParameter(std::string("ClientToken"), clientToken);
}
std::string CreateEaiEciRequest::getSecurityGroupId() const {
return securityGroupId_;
}
void CreateEaiEciRequest::setSecurityGroupId(const std::string &securityGroupId) {
securityGroupId_ = securityGroupId;
setParameter(std::string("SecurityGroupId"), securityGroupId);
}
CreateEaiEciRequest::Eci CreateEaiEciRequest::getEci() const {
return eci_;
}
void CreateEaiEciRequest::setEci(const CreateEaiEciRequest::Eci &eci) {
eci_ = eci;
setParameter(std::string("Eci") + ".Container.Image", eci.container.image);
setParameter(std::string("Eci") + ".Container.Arg", eci.container.arg);
setParameter(std::string("Eci") + ".Container.Name", eci.container.name);
setParameter(std::string("Eci") + ".Container.Volumes", eci.container.volumes);
setParameter(std::string("Eci") + ".Container.Command", eci.container.command);
setParameter(std::string("Eci") + ".Volume", eci.volume);
setParameter(std::string("Eci") + ".EipId", eci.eipId);
setParameter(std::string("Eci") + ".Name", eci.name);
setParameter(std::string("Eci") + ".Type", eci.type);
}
std::string CreateEaiEciRequest::getEaisType() const {
return eaisType_;
}
void CreateEaiEciRequest::setEaisType(const std::string &eaisType) {
eaisType_ = eaisType;
setParameter(std::string("EaisType"), eaisType);
}
std::string CreateEaiEciRequest::getVSwitchId() const {
return vSwitchId_;
}
void CreateEaiEciRequest::setVSwitchId(const std::string &vSwitchId) {
vSwitchId_ = vSwitchId;
setParameter(std::string("VSwitchId"), vSwitchId);
}
std::string CreateEaiEciRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void CreateEaiEciRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
std::string CreateEaiEciRequest::getRegionId() const {
return regionId_;
}
void CreateEaiEciRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setParameter(std::string("RegionId"), regionId);
}
std::string CreateEaiEciRequest::getEaisName() const {
return eaisName_;
}
void CreateEaiEciRequest::setEaisName(const std::string &eaisName) {
eaisName_ = eaisName;
setParameter(std::string("EaisName"), eaisName);
}

View File

@@ -0,0 +1,58 @@
/*
* 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/eais/model/CreateEaiEciResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
CreateEaiEciResult::CreateEaiEciResult() :
ServiceResult()
{}
CreateEaiEciResult::CreateEaiEciResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
CreateEaiEciResult::~CreateEaiEciResult()
{}
void CreateEaiEciResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
if(!value["ElasticAcceleratedInstanceId"].isNull())
elasticAcceleratedInstanceId_ = value["ElasticAcceleratedInstanceId"].asString();
if(!value["ClientInstanceId"].isNull())
clientInstanceId_ = value["ClientInstanceId"].asString();
}
std::string CreateEaiEciResult::getClientInstanceId()const
{
return clientInstanceId_;
}
std::string CreateEaiEciResult::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}

View File

@@ -0,0 +1,107 @@
/*
* 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/eais/model/CreateEaiEcsRequest.h>
using AlibabaCloud::Eais::Model::CreateEaiEcsRequest;
CreateEaiEcsRequest::CreateEaiEcsRequest()
: RpcServiceRequest("eais", "2019-06-24", "CreateEaiEcs") {
setMethod(HttpRequest::Method::Post);
}
CreateEaiEcsRequest::~CreateEaiEcsRequest() {}
std::string CreateEaiEcsRequest::getClientToken() const {
return clientToken_;
}
void CreateEaiEcsRequest::setClientToken(const std::string &clientToken) {
clientToken_ = clientToken;
setParameter(std::string("ClientToken"), clientToken);
}
std::string CreateEaiEcsRequest::getSecurityGroupId() const {
return securityGroupId_;
}
void CreateEaiEcsRequest::setSecurityGroupId(const std::string &securityGroupId) {
securityGroupId_ = securityGroupId;
setParameter(std::string("SecurityGroupId"), securityGroupId);
}
std::string CreateEaiEcsRequest::getEaisType() const {
return eaisType_;
}
void CreateEaiEcsRequest::setEaisType(const std::string &eaisType) {
eaisType_ = eaisType;
setParameter(std::string("EaisType"), eaisType);
}
std::string CreateEaiEcsRequest::getVSwitchId() const {
return vSwitchId_;
}
void CreateEaiEcsRequest::setVSwitchId(const std::string &vSwitchId) {
vSwitchId_ = vSwitchId;
setParameter(std::string("VSwitchId"), vSwitchId);
}
std::string CreateEaiEcsRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void CreateEaiEcsRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
CreateEaiEcsRequest::Ecs CreateEaiEcsRequest::getEcs() const {
return ecs_;
}
void CreateEaiEcsRequest::setEcs(const CreateEaiEcsRequest::Ecs &ecs) {
ecs_ = ecs;
setParameter(std::string("Ecs") + ".Password", ecs.password);
setParameter(std::string("Ecs") + ".ImageId", ecs.imageId);
setParameter(std::string("Ecs") + ".SystemDiskCategory", ecs.systemDiskCategory);
setParameter(std::string("Ecs") + ".InternetMaxBandwidthOut", ecs.internetMaxBandwidthOut);
setParameter(std::string("Ecs") + ".Name", ecs.name);
setParameter(std::string("Ecs") + ".SystemDiskSize", std::to_string(ecs.systemDiskSize));
setParameter(std::string("Ecs") + ".ZoneId", ecs.zoneId);
setParameter(std::string("Ecs") + ".Type", ecs.type);
setParameter(std::string("Ecs") + ".InternetMaxBandwidthIn", ecs.internetMaxBandwidthIn);
}
std::string CreateEaiEcsRequest::getRegionId() const {
return regionId_;
}
void CreateEaiEcsRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setParameter(std::string("RegionId"), regionId);
}
std::string CreateEaiEcsRequest::getEaisName() const {
return eaisName_;
}
void CreateEaiEcsRequest::setEaisName(const std::string &eaisName) {
eaisName_ = eaisName;
setParameter(std::string("EaisName"), eaisName);
}

View File

@@ -0,0 +1,58 @@
/*
* 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/eais/model/CreateEaiEcsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
CreateEaiEcsResult::CreateEaiEcsResult() :
ServiceResult()
{}
CreateEaiEcsResult::CreateEaiEcsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
CreateEaiEcsResult::~CreateEaiEcsResult()
{}
void CreateEaiEcsResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
if(!value["ElasticAcceleratedInstanceId"].isNull())
elasticAcceleratedInstanceId_ = value["ElasticAcceleratedInstanceId"].asString();
if(!value["ClientInstanceId"].isNull())
clientInstanceId_ = value["ClientInstanceId"].asString();
}
std::string CreateEaiEcsResult::getClientInstanceId()const
{
return clientInstanceId_;
}
std::string CreateEaiEcsResult::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}

View File

@@ -61,6 +61,15 @@ void CreateEaiJupyterRequest::setVSwitchId(const std::string &vSwitchId) {
setParameter(std::string("VSwitchId"), vSwitchId);
}
std::string CreateEaiJupyterRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void CreateEaiJupyterRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
std::string CreateEaiJupyterRequest::getRegionId() const {
return regionId_;
}

View File

@@ -52,6 +52,15 @@ void CreateEaiRequest::setVSwitchId(const std::string &vSwitchId) {
setParameter(std::string("VSwitchId"), vSwitchId);
}
std::string CreateEaiRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void CreateEaiRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
std::string CreateEaiRequest::getInstanceName() const {
return instanceName_;
}

View File

@@ -43,6 +43,15 @@ void DescribeEaisRequest::setPageNumber(int pageNumber) {
setParameter(std::string("PageNumber"), std::to_string(pageNumber));
}
std::string DescribeEaisRequest::getResourceGroupId() const {
return resourceGroupId_;
}
void DescribeEaisRequest::setResourceGroupId(const std::string &resourceGroupId) {
resourceGroupId_ = resourceGroupId;
setParameter(std::string("ResourceGroupId"), resourceGroupId);
}
std::string DescribeEaisRequest::getInstanceName() const {
return instanceName_;
}

View File

@@ -75,6 +75,8 @@ void DescribeEaisResult::parse(const std::string &payload)
instancesObject.securityGroupId = valueInstancesInstance["SecurityGroupId"].asString();
if(!valueInstancesInstance["StartTime"].isNull())
instancesObject.startTime = valueInstancesInstance["StartTime"].asString();
if(!valueInstancesInstance["ResourceGroupId"].isNull())
instancesObject.resourceGroupId = valueInstancesInstance["ResourceGroupId"].asString();
auto allTagsNode = valueInstancesInstance["Tags"]["Tag"];
for (auto valueInstancesInstanceTagsTag : allTagsNode)
{

View File

@@ -0,0 +1,72 @@
/*
* 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/eais/model/GetInstanceMetricsRequest.h>
using AlibabaCloud::Eais::Model::GetInstanceMetricsRequest;
GetInstanceMetricsRequest::GetInstanceMetricsRequest()
: RpcServiceRequest("eais", "2019-06-24", "GetInstanceMetrics") {
setMethod(HttpRequest::Method::Post);
}
GetInstanceMetricsRequest::~GetInstanceMetricsRequest() {}
std::string GetInstanceMetricsRequest::getMetricType() const {
return metricType_;
}
void GetInstanceMetricsRequest::setMetricType(const std::string &metricType) {
metricType_ = metricType;
setParameter(std::string("MetricType"), metricType);
}
std::string GetInstanceMetricsRequest::getTimeStep() const {
return timeStep_;
}
void GetInstanceMetricsRequest::setTimeStep(const std::string &timeStep) {
timeStep_ = timeStep;
setParameter(std::string("TimeStep"), timeStep);
}
std::string GetInstanceMetricsRequest::getEndTime() const {
return endTime_;
}
void GetInstanceMetricsRequest::setEndTime(const std::string &endTime) {
endTime_ = endTime;
setParameter(std::string("EndTime"), endTime);
}
std::string GetInstanceMetricsRequest::getStartTime() const {
return startTime_;
}
void GetInstanceMetricsRequest::setStartTime(const std::string &startTime) {
startTime_ = startTime;
setParameter(std::string("StartTime"), startTime);
}
std::string GetInstanceMetricsRequest::getInstanceId() const {
return instanceId_;
}
void GetInstanceMetricsRequest::setInstanceId(const std::string &instanceId) {
instanceId_ = instanceId;
setParameter(std::string("InstanceId"), instanceId);
}

View File

@@ -0,0 +1,74 @@
/*
* 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/eais/model/GetInstanceMetricsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
GetInstanceMetricsResult::GetInstanceMetricsResult() :
ServiceResult()
{}
GetInstanceMetricsResult::GetInstanceMetricsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
GetInstanceMetricsResult::~GetInstanceMetricsResult()
{}
void GetInstanceMetricsResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allPodMetricsNode = value["PodMetrics"]["PodMetric"];
for (auto valuePodMetricsPodMetric : allPodMetricsNode)
{
PodMetric podMetricsObject;
if(!valuePodMetricsPodMetric["PodId"].isNull())
podMetricsObject.podId = valuePodMetricsPodMetric["PodId"].asString();
auto allMetricsNode = valuePodMetricsPodMetric["Metrics"]["Metric"];
for (auto valuePodMetricsPodMetricMetricsMetric : allMetricsNode)
{
PodMetric::Metric metricsObject;
if(!valuePodMetricsPodMetricMetricsMetric["Time"].isNull())
metricsObject.time = valuePodMetricsPodMetricMetricsMetric["Time"].asString();
if(!valuePodMetricsPodMetricMetricsMetric["Value"].isNull())
metricsObject.value = valuePodMetricsPodMetricMetricsMetric["Value"].asString();
podMetricsObject.metrics.push_back(metricsObject);
}
podMetrics_.push_back(podMetricsObject);
}
if(!value["InstanceId"].isNull())
instanceId_ = value["InstanceId"].asString();
}
std::string GetInstanceMetricsResult::getInstanceId()const
{
return instanceId_;
}
std::vector<GetInstanceMetricsResult::PodMetric> GetInstanceMetricsResult::getPodMetrics()const
{
return podMetrics_;
}