From 9d1b5377f0fd1253461429edeec816c63953792c Mon Sep 17 00:00:00 2001 From: sdk-team Date: Mon, 24 Apr 2023 03:10:44 +0000 Subject: [PATCH] ModifyDiskSpec add PerformanceControlOptions. --- VERSION | 2 +- ecs/CMakeLists.txt | 4 + ecs/include/alibabacloud/ecs/EcsClient.h | 8 ++ .../DescribeResourcesModificationRequest.h | 3 + .../DescribeResourcesModificationResult.h | 15 +++ .../ecs/model/DescribeSecurityGroupsResult.h | 14 +-- .../ecs/model/ModifyDiskDeploymentRequest.h | 66 +++++++++++ .../ecs/model/ModifyDiskDeploymentResult.h | 51 +++++++++ .../ecs/model/ModifyDiskSpecRequest.h | 8 ++ .../ecs/model/ModifyInstanceSpecRequest.h | 11 ++ .../model/ModifyPrepayInstanceSpecRequest.h | 11 ++ ecs/src/EcsClient.cc | 36 ++++++ .../DescribeResourcesModificationRequest.cc | 8 ++ .../DescribeResourcesModificationResult.cc | 26 +++++ ecs/src/model/DescribeSecurityGroupsResult.cc | 50 ++++---- ecs/src/model/ModifyDiskDeploymentRequest.cc | 108 ++++++++++++++++++ ecs/src/model/ModifyDiskDeploymentResult.cc | 51 +++++++++ ecs/src/model/ModifyDiskSpecRequest.cc | 11 ++ ecs/src/model/ModifyInstanceSpecRequest.cc | 24 ++++ .../model/ModifyPrepayInstanceSpecRequest.cc | 24 ++++ 20 files changed, 498 insertions(+), 33 deletions(-) create mode 100644 ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentRequest.h create mode 100644 ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentResult.h create mode 100644 ecs/src/model/ModifyDiskDeploymentRequest.cc create mode 100644 ecs/src/model/ModifyDiskDeploymentResult.cc diff --git a/VERSION b/VERSION index 812258bfb..c0da409fe 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1538 \ No newline at end of file +1.36.1539 \ No newline at end of file diff --git a/ecs/CMakeLists.txt b/ecs/CMakeLists.txt index 5148b4b08..76b1b42bd 100644 --- a/ecs/CMakeLists.txt +++ b/ecs/CMakeLists.txt @@ -535,6 +535,8 @@ set(ecs_public_header_model include/alibabacloud/ecs/model/ModifyDiskAttributeResult.h include/alibabacloud/ecs/model/ModifyDiskChargeTypeRequest.h include/alibabacloud/ecs/model/ModifyDiskChargeTypeResult.h + include/alibabacloud/ecs/model/ModifyDiskDeploymentRequest.h + include/alibabacloud/ecs/model/ModifyDiskDeploymentResult.h include/alibabacloud/ecs/model/ModifyDiskSpecRequest.h include/alibabacloud/ecs/model/ModifyDiskSpecResult.h include/alibabacloud/ecs/model/ModifyEipAddressAttributeRequest.h @@ -1230,6 +1232,8 @@ set(ecs_src src/model/ModifyDiskAttributeResult.cc src/model/ModifyDiskChargeTypeRequest.cc src/model/ModifyDiskChargeTypeResult.cc + src/model/ModifyDiskDeploymentRequest.cc + src/model/ModifyDiskDeploymentResult.cc src/model/ModifyDiskSpecRequest.cc src/model/ModifyDiskSpecResult.cc src/model/ModifyEipAddressAttributeRequest.cc diff --git a/ecs/include/alibabacloud/ecs/EcsClient.h b/ecs/include/alibabacloud/ecs/EcsClient.h index 4bc5cc2a9..dd7d8533d 100644 --- a/ecs/include/alibabacloud/ecs/EcsClient.h +++ b/ecs/include/alibabacloud/ecs/EcsClient.h @@ -536,6 +536,8 @@ #include "model/ModifyDiskAttributeResult.h" #include "model/ModifyDiskChargeTypeRequest.h" #include "model/ModifyDiskChargeTypeResult.h" +#include "model/ModifyDiskDeploymentRequest.h" +#include "model/ModifyDiskDeploymentResult.h" #include "model/ModifyDiskSpecRequest.h" #include "model/ModifyDiskSpecResult.h" #include "model/ModifyEipAddressAttributeRequest.h" @@ -1494,6 +1496,9 @@ namespace AlibabaCloud typedef Outcome ModifyDiskChargeTypeOutcome; typedef std::future ModifyDiskChargeTypeOutcomeCallable; typedef std::function&)> ModifyDiskChargeTypeAsyncHandler; + typedef Outcome ModifyDiskDeploymentOutcome; + typedef std::future ModifyDiskDeploymentOutcomeCallable; + typedef std::function&)> ModifyDiskDeploymentAsyncHandler; typedef Outcome ModifyDiskSpecOutcome; typedef std::future ModifyDiskSpecOutcomeCallable; typedef std::function&)> ModifyDiskSpecAsyncHandler; @@ -2537,6 +2542,9 @@ namespace AlibabaCloud ModifyDiskChargeTypeOutcome modifyDiskChargeType(const Model::ModifyDiskChargeTypeRequest &request)const; void modifyDiskChargeTypeAsync(const Model::ModifyDiskChargeTypeRequest& request, const ModifyDiskChargeTypeAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ModifyDiskChargeTypeOutcomeCallable modifyDiskChargeTypeCallable(const Model::ModifyDiskChargeTypeRequest& request) const; + ModifyDiskDeploymentOutcome modifyDiskDeployment(const Model::ModifyDiskDeploymentRequest &request)const; + void modifyDiskDeploymentAsync(const Model::ModifyDiskDeploymentRequest& request, const ModifyDiskDeploymentAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ModifyDiskDeploymentOutcomeCallable modifyDiskDeploymentCallable(const Model::ModifyDiskDeploymentRequest& request) const; ModifyDiskSpecOutcome modifyDiskSpec(const Model::ModifyDiskSpecRequest &request)const; void modifyDiskSpecAsync(const Model::ModifyDiskSpecRequest& request, const ModifyDiskSpecAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ModifyDiskSpecOutcomeCallable modifyDiskSpecCallable(const Model::ModifyDiskSpecRequest& request) const; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h b/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h index 6bd730a78..aa3caaa04 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h @@ -56,6 +56,8 @@ public: void setDestinationResource(const std::string &destinationResource); std::string getZoneId() const; void setZoneId(const std::string &zoneId); + std::vector getConditions() const; + void setConditions(const std::vector &conditions); private: long resourceOwnerId_; @@ -71,6 +73,7 @@ private: long ownerId_; std::string destinationResource_; std::string zoneId_; + std::vector conditions_; }; } // namespace Model } // namespace Ecs diff --git a/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationResult.h b/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationResult.h index f6a7788bb..aa96d6be0 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationResult.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationResult.h @@ -45,7 +45,22 @@ namespace AlibabaCloud std::string value; std::string unit; }; + struct ConditionSupportedResource + { + struct Condition + { + std::string key; + }; + std::string status; + std::string statusCategory; + int min; + int max; + std::string value; + std::string unit; + std::vector conditions; + }; std::string type; + std::vector conditionSupportedResources; std::vector supportedResources; }; std::string status; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h b/ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h index 484c180a3..eb66db5f1 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h @@ -41,16 +41,16 @@ namespace AlibabaCloud }; int ecsCount; std::string description; - std::string vpcId; - bool serviceManaged; - std::string resourceGroupId; std::string securityGroupName; + std::string vpcId; + std::string resourceGroupId; + bool serviceManaged; std::string securityGroupId; - std::string creationTime; std::string securityGroupType; + std::string creationTime; std::vector tags; - long serviceID; int availableInstanceAmount; + long serviceID; }; @@ -59,8 +59,8 @@ namespace AlibabaCloud ~DescribeSecurityGroupsResult(); std::vector getSecurityGroups()const; int getTotalCount()const; - int getPageSize()const; std::string getNextToken()const; + int getPageSize()const; int getPageNumber()const; std::string getRegionId()const; @@ -69,8 +69,8 @@ namespace AlibabaCloud private: std::vector securityGroups_; int totalCount_; - int pageSize_; std::string nextToken_; + int pageSize_; int pageNumber_; std::string regionId_; diff --git a/ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentRequest.h b/ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentRequest.h new file mode 100644 index 000000000..4b8acfac4 --- /dev/null +++ b/ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentRequest.h @@ -0,0 +1,66 @@ +/* + * 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_ECS_MODEL_MODIFYDISKDEPLOYMENTREQUEST_H_ +#define ALIBABACLOUD_ECS_MODEL_MODIFYDISKDEPLOYMENTREQUEST_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud { +namespace Ecs { +namespace Model { +class ALIBABACLOUD_ECS_EXPORT ModifyDiskDeploymentRequest : public RpcServiceRequest { +public: + ModifyDiskDeploymentRequest(); + ~ModifyDiskDeploymentRequest(); + long getResourceOwnerId() const; + void setResourceOwnerId(long resourceOwnerId); + std::string getDiskCategory() const; + void setDiskCategory(const std::string &diskCategory); + std::string getDiskId() const; + void setDiskId(const std::string &diskId); + bool getDryRun() const; + void setDryRun(bool dryRun); + std::string getResourceOwnerAccount() const; + void setResourceOwnerAccount(const std::string &resourceOwnerAccount); + std::string getPerformanceLevel() const; + void setPerformanceLevel(const std::string &performanceLevel); + std::string getOwnerAccount() const; + void setOwnerAccount(const std::string &ownerAccount); + long getOwnerId() const; + void setOwnerId(long ownerId); + std::string getStorageClusterId() const; + void setStorageClusterId(const std::string &storageClusterId); + +private: + long resourceOwnerId_; + std::string diskCategory_; + std::string diskId_; + bool dryRun_; + std::string resourceOwnerAccount_; + std::string performanceLevel_; + std::string ownerAccount_; + long ownerId_; + std::string storageClusterId_; +}; +} // namespace Model +} // namespace Ecs +} // namespace AlibabaCloud +#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDISKDEPLOYMENTREQUEST_H_ diff --git a/ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentResult.h b/ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentResult.h new file mode 100644 index 000000000..7b53f7e62 --- /dev/null +++ b/ecs/include/alibabacloud/ecs/model/ModifyDiskDeploymentResult.h @@ -0,0 +1,51 @@ +/* + * 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_ECS_MODEL_MODIFYDISKDEPLOYMENTRESULT_H_ +#define ALIBABACLOUD_ECS_MODEL_MODIFYDISKDEPLOYMENTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Ecs + { + namespace Model + { + class ALIBABACLOUD_ECS_EXPORT ModifyDiskDeploymentResult : public ServiceResult + { + public: + + + ModifyDiskDeploymentResult(); + explicit ModifyDiskDeploymentResult(const std::string &payload); + ~ModifyDiskDeploymentResult(); + std::string getTaskId()const; + + protected: + void parse(const std::string &payload); + private: + std::string taskId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDISKDEPLOYMENTRESULT_H_ \ No newline at end of file diff --git a/ecs/include/alibabacloud/ecs/model/ModifyDiskSpecRequest.h b/ecs/include/alibabacloud/ecs/model/ModifyDiskSpecRequest.h index 19d41b411..e73d89c81 100644 --- a/ecs/include/alibabacloud/ecs/model/ModifyDiskSpecRequest.h +++ b/ecs/include/alibabacloud/ecs/model/ModifyDiskSpecRequest.h @@ -28,6 +28,11 @@ namespace Ecs { namespace Model { class ALIBABACLOUD_ECS_EXPORT ModifyDiskSpecRequest : public RpcServiceRequest { public: + struct PerformanceControlOptions { + int iOPS; + int throughput; + std::string recover; + }; ModifyDiskSpecRequest(); ~ModifyDiskSpecRequest(); long getResourceOwnerId() const; @@ -44,6 +49,8 @@ public: void setPerformanceLevel(const std::string &performanceLevel); std::string getOwnerAccount() const; void setOwnerAccount(const std::string &ownerAccount); + PerformanceControlOptions getPerformanceControlOptions() const; + void setPerformanceControlOptions(const PerformanceControlOptions &performanceControlOptions); long getOwnerId() const; void setOwnerId(long ownerId); long getProvisionedIops() const; @@ -57,6 +64,7 @@ private: std::string resourceOwnerAccount_; std::string performanceLevel_; std::string ownerAccount_; + PerformanceControlOptions performanceControlOptions_; long ownerId_; long provisionedIops_; }; diff --git a/ecs/include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h b/ecs/include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h index eb63cec56..0bb9675cb 100644 --- a/ecs/include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h +++ b/ecs/include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h @@ -28,6 +28,11 @@ namespace Ecs { namespace Model { class ALIBABACLOUD_ECS_EXPORT ModifyInstanceSpecRequest : public RpcServiceRequest { public: + struct Disk { + std::string performanceLevel; + std::string diskId; + std::string category; + }; ModifyInstanceSpecRequest(); ~ModifyInstanceSpecRequest(); long getResourceOwnerId() const; @@ -44,6 +49,8 @@ public: void setInstanceType(const std::string &instanceType); std::string getTemporaryEndTime() const; void setTemporaryEndTime(const std::string &temporaryEndTime); + std::string getModifyMode() const; + void setModifyMode(const std::string &modifyMode); std::string getResourceOwnerAccount() const; void setResourceOwnerAccount(const std::string &resourceOwnerAccount); std::string getOwnerAccount() const; @@ -56,6 +63,8 @@ public: void setTemporaryStartTime(const std::string &temporaryStartTime); bool getAsync() const; void setAsync(bool async); + std::vector getDisk() const; + void setDisk(const std::vector &disk); std::string getInstanceId() const; void setInstanceId(const std::string &instanceId); int getInternetMaxBandwidthIn() const; @@ -69,12 +78,14 @@ private: std::string systemDiskCategory_; std::string instanceType_; std::string temporaryEndTime_; + std::string modifyMode_; std::string resourceOwnerAccount_; std::string ownerAccount_; long ownerId_; int temporaryInternetMaxBandwidthOut_; std::string temporaryStartTime_; bool async_; + std::vector disk_; std::string instanceId_; int internetMaxBandwidthIn_; }; diff --git a/ecs/include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecRequest.h b/ecs/include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecRequest.h index 563b6321b..cbf41dac0 100644 --- a/ecs/include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecRequest.h +++ b/ecs/include/alibabacloud/ecs/model/ModifyPrepayInstanceSpecRequest.h @@ -28,6 +28,11 @@ namespace Ecs { namespace Model { class ALIBABACLOUD_ECS_EXPORT ModifyPrepayInstanceSpecRequest : public RpcServiceRequest { public: + struct Disk { + std::string performanceLevel; + std::string diskId; + std::string category; + }; ModifyPrepayInstanceSpecRequest(); ~ModifyPrepayInstanceSpecRequest(); long getResourceOwnerId() const; @@ -48,6 +53,8 @@ public: void setMigrateAcrossZone(bool migrateAcrossZone); std::string getInstanceType() const; void setInstanceType(const std::string &instanceType); + std::string getModifyMode() const; + void setModifyMode(const std::string &modifyMode); bool getAutoPay() const; void setAutoPay(bool autoPay); bool getRebootWhenFinished() const; @@ -60,6 +67,8 @@ public: void setEndTime(const std::string &endTime); long getOwnerId() const; void setOwnerId(long ownerId); + std::vector getDisk() const; + void setDisk(const std::vector &disk); std::string getInstanceId() const; void setInstanceId(const std::string &instanceId); @@ -73,12 +82,14 @@ private: std::string regionId_; bool migrateAcrossZone_; std::string instanceType_; + std::string modifyMode_; bool autoPay_; bool rebootWhenFinished_; std::string resourceOwnerAccount_; std::string ownerAccount_; std::string endTime_; long ownerId_; + std::vector disk_; std::string instanceId_; }; } // namespace Model diff --git a/ecs/src/EcsClient.cc b/ecs/src/EcsClient.cc index fe6dca85c..b777764fc 100644 --- a/ecs/src/EcsClient.cc +++ b/ecs/src/EcsClient.cc @@ -9303,6 +9303,42 @@ EcsClient::ModifyDiskChargeTypeOutcomeCallable EcsClient::modifyDiskChargeTypeCa return task->get_future(); } +EcsClient::ModifyDiskDeploymentOutcome EcsClient::modifyDiskDeployment(const ModifyDiskDeploymentRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ModifyDiskDeploymentOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ModifyDiskDeploymentOutcome(ModifyDiskDeploymentResult(outcome.result())); + else + return ModifyDiskDeploymentOutcome(outcome.error()); +} + +void EcsClient::modifyDiskDeploymentAsync(const ModifyDiskDeploymentRequest& request, const ModifyDiskDeploymentAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, modifyDiskDeployment(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +EcsClient::ModifyDiskDeploymentOutcomeCallable EcsClient::modifyDiskDeploymentCallable(const ModifyDiskDeploymentRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->modifyDiskDeployment(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + EcsClient::ModifyDiskSpecOutcome EcsClient::modifyDiskSpec(const ModifyDiskSpecRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/ecs/src/model/DescribeResourcesModificationRequest.cc b/ecs/src/model/DescribeResourcesModificationRequest.cc index 871d08f03..30e72c304 100644 --- a/ecs/src/model/DescribeResourcesModificationRequest.cc +++ b/ecs/src/model/DescribeResourcesModificationRequest.cc @@ -142,3 +142,11 @@ void DescribeResourcesModificationRequest::setZoneId(const std::string &zoneId) setParameter(std::string("ZoneId"), zoneId); } +std::vector DescribeResourcesModificationRequest::getConditions() const { + return conditions_; +} + +void DescribeResourcesModificationRequest::setConditions(const std::vector &conditions) { + conditions_ = conditions; +} + diff --git a/ecs/src/model/DescribeResourcesModificationResult.cc b/ecs/src/model/DescribeResourcesModificationResult.cc index 39b16ac6e..947bc6a88 100644 --- a/ecs/src/model/DescribeResourcesModificationResult.cc +++ b/ecs/src/model/DescribeResourcesModificationResult.cc @@ -75,6 +75,32 @@ void DescribeResourcesModificationResult::parse(const std::string &payload) supportedResourcesObject.min = std::stoi(valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource["Min"].asString()); availableResourcesObject.supportedResources.push_back(supportedResourcesObject); } + auto allConditionSupportedResourcesNode = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResource["ConditionSupportedResources"]["ConditionSupportedResource"]; + for (auto valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource : allConditionSupportedResourcesNode) + { + AvailableZone::AvailableResource::ConditionSupportedResource conditionSupportedResourcesObject; + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Status"].isNull()) + conditionSupportedResourcesObject.status = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Status"].asString(); + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Value"].isNull()) + conditionSupportedResourcesObject.value = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Value"].asString(); + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Max"].isNull()) + conditionSupportedResourcesObject.max = std::stoi(valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Max"].asString()); + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Unit"].isNull()) + conditionSupportedResourcesObject.unit = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Unit"].asString(); + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["StatusCategory"].isNull()) + conditionSupportedResourcesObject.statusCategory = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["StatusCategory"].asString(); + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Min"].isNull()) + conditionSupportedResourcesObject.min = std::stoi(valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Min"].asString()); + auto allConditionsNode = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource["Conditions"]["Condition"]; + for (auto valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditionsCondition : allConditionsNode) + { + AvailableZone::AvailableResource::ConditionSupportedResource::Condition conditionsObject; + if(!valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditionsCondition["Key"].isNull()) + conditionsObject.key = valueAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditionsCondition["Key"].asString(); + conditionSupportedResourcesObject.conditions.push_back(conditionsObject); + } + availableResourcesObject.conditionSupportedResources.push_back(conditionSupportedResourcesObject); + } availableZonesObject.availableResources.push_back(availableResourcesObject); } availableZones_.push_back(availableZonesObject); diff --git a/ecs/src/model/DescribeSecurityGroupsResult.cc b/ecs/src/model/DescribeSecurityGroupsResult.cc index 3b98bcfad..089d357aa 100644 --- a/ecs/src/model/DescribeSecurityGroupsResult.cc +++ b/ecs/src/model/DescribeSecurityGroupsResult.cc @@ -43,28 +43,28 @@ void DescribeSecurityGroupsResult::parse(const std::string &payload) for (auto valueSecurityGroupsSecurityGroup : allSecurityGroupsNode) { SecurityGroup securityGroupsObject; - if(!valueSecurityGroupsSecurityGroup["CreationTime"].isNull()) - securityGroupsObject.creationTime = valueSecurityGroupsSecurityGroup["CreationTime"].asString(); - if(!valueSecurityGroupsSecurityGroup["VpcId"].isNull()) - securityGroupsObject.vpcId = valueSecurityGroupsSecurityGroup["VpcId"].asString(); - if(!valueSecurityGroupsSecurityGroup["ServiceManaged"].isNull()) - securityGroupsObject.serviceManaged = valueSecurityGroupsSecurityGroup["ServiceManaged"].asString() == "true"; - if(!valueSecurityGroupsSecurityGroup["Description"].isNull()) - securityGroupsObject.description = valueSecurityGroupsSecurityGroup["Description"].asString(); if(!valueSecurityGroupsSecurityGroup["SecurityGroupId"].isNull()) securityGroupsObject.securityGroupId = valueSecurityGroupsSecurityGroup["SecurityGroupId"].asString(); - if(!valueSecurityGroupsSecurityGroup["ResourceGroupId"].isNull()) - securityGroupsObject.resourceGroupId = valueSecurityGroupsSecurityGroup["ResourceGroupId"].asString(); if(!valueSecurityGroupsSecurityGroup["SecurityGroupName"].isNull()) securityGroupsObject.securityGroupName = valueSecurityGroupsSecurityGroup["SecurityGroupName"].asString(); - if(!valueSecurityGroupsSecurityGroup["EcsCount"].isNull()) - securityGroupsObject.ecsCount = std::stoi(valueSecurityGroupsSecurityGroup["EcsCount"].asString()); - if(!valueSecurityGroupsSecurityGroup["ServiceID"].isNull()) - securityGroupsObject.serviceID = std::stol(valueSecurityGroupsSecurityGroup["ServiceID"].asString()); + if(!valueSecurityGroupsSecurityGroup["Description"].isNull()) + securityGroupsObject.description = valueSecurityGroupsSecurityGroup["Description"].asString(); if(!valueSecurityGroupsSecurityGroup["SecurityGroupType"].isNull()) securityGroupsObject.securityGroupType = valueSecurityGroupsSecurityGroup["SecurityGroupType"].asString(); + if(!valueSecurityGroupsSecurityGroup["VpcId"].isNull()) + securityGroupsObject.vpcId = valueSecurityGroupsSecurityGroup["VpcId"].asString(); + if(!valueSecurityGroupsSecurityGroup["CreationTime"].isNull()) + securityGroupsObject.creationTime = valueSecurityGroupsSecurityGroup["CreationTime"].asString(); + if(!valueSecurityGroupsSecurityGroup["EcsCount"].isNull()) + securityGroupsObject.ecsCount = std::stoi(valueSecurityGroupsSecurityGroup["EcsCount"].asString()); if(!valueSecurityGroupsSecurityGroup["AvailableInstanceAmount"].isNull()) securityGroupsObject.availableInstanceAmount = std::stoi(valueSecurityGroupsSecurityGroup["AvailableInstanceAmount"].asString()); + if(!valueSecurityGroupsSecurityGroup["ResourceGroupId"].isNull()) + securityGroupsObject.resourceGroupId = valueSecurityGroupsSecurityGroup["ResourceGroupId"].asString(); + if(!valueSecurityGroupsSecurityGroup["ServiceManaged"].isNull()) + securityGroupsObject.serviceManaged = valueSecurityGroupsSecurityGroup["ServiceManaged"].asString() == "true"; + if(!valueSecurityGroupsSecurityGroup["ServiceID"].isNull()) + securityGroupsObject.serviceID = std::stol(valueSecurityGroupsSecurityGroup["ServiceID"].asString()); auto allTagsNode = valueSecurityGroupsSecurityGroup["Tags"]["Tag"]; for (auto valueSecurityGroupsSecurityGroupTagsTag : allTagsNode) { @@ -77,16 +77,16 @@ void DescribeSecurityGroupsResult::parse(const std::string &payload) } securityGroups_.push_back(securityGroupsObject); } - 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()); if(!value["RegionId"].isNull()) regionId_ = value["RegionId"].asString(); if(!value["NextToken"].isNull()) nextToken_ = value["NextToken"].asString(); + 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()); } @@ -100,16 +100,16 @@ int DescribeSecurityGroupsResult::getTotalCount()const return totalCount_; } -int DescribeSecurityGroupsResult::getPageSize()const -{ - return pageSize_; -} - std::string DescribeSecurityGroupsResult::getNextToken()const { return nextToken_; } +int DescribeSecurityGroupsResult::getPageSize()const +{ + return pageSize_; +} + int DescribeSecurityGroupsResult::getPageNumber()const { return pageNumber_; diff --git a/ecs/src/model/ModifyDiskDeploymentRequest.cc b/ecs/src/model/ModifyDiskDeploymentRequest.cc new file mode 100644 index 000000000..8fac032ef --- /dev/null +++ b/ecs/src/model/ModifyDiskDeploymentRequest.cc @@ -0,0 +1,108 @@ +/* + * 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::Ecs::Model::ModifyDiskDeploymentRequest; + +ModifyDiskDeploymentRequest::ModifyDiskDeploymentRequest() + : RpcServiceRequest("ecs", "2014-05-26", "ModifyDiskDeployment") { + setMethod(HttpRequest::Method::Post); +} + +ModifyDiskDeploymentRequest::~ModifyDiskDeploymentRequest() {} + +long ModifyDiskDeploymentRequest::getResourceOwnerId() const { + return resourceOwnerId_; +} + +void ModifyDiskDeploymentRequest::setResourceOwnerId(long resourceOwnerId) { + resourceOwnerId_ = resourceOwnerId; + setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId)); +} + +std::string ModifyDiskDeploymentRequest::getDiskCategory() const { + return diskCategory_; +} + +void ModifyDiskDeploymentRequest::setDiskCategory(const std::string &diskCategory) { + diskCategory_ = diskCategory; + setParameter(std::string("DiskCategory"), diskCategory); +} + +std::string ModifyDiskDeploymentRequest::getDiskId() const { + return diskId_; +} + +void ModifyDiskDeploymentRequest::setDiskId(const std::string &diskId) { + diskId_ = diskId; + setParameter(std::string("DiskId"), diskId); +} + +bool ModifyDiskDeploymentRequest::getDryRun() const { + return dryRun_; +} + +void ModifyDiskDeploymentRequest::setDryRun(bool dryRun) { + dryRun_ = dryRun; + setParameter(std::string("DryRun"), dryRun ? "true" : "false"); +} + +std::string ModifyDiskDeploymentRequest::getResourceOwnerAccount() const { + return resourceOwnerAccount_; +} + +void ModifyDiskDeploymentRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) { + resourceOwnerAccount_ = resourceOwnerAccount; + setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount); +} + +std::string ModifyDiskDeploymentRequest::getPerformanceLevel() const { + return performanceLevel_; +} + +void ModifyDiskDeploymentRequest::setPerformanceLevel(const std::string &performanceLevel) { + performanceLevel_ = performanceLevel; + setParameter(std::string("PerformanceLevel"), performanceLevel); +} + +std::string ModifyDiskDeploymentRequest::getOwnerAccount() const { + return ownerAccount_; +} + +void ModifyDiskDeploymentRequest::setOwnerAccount(const std::string &ownerAccount) { + ownerAccount_ = ownerAccount; + setParameter(std::string("OwnerAccount"), ownerAccount); +} + +long ModifyDiskDeploymentRequest::getOwnerId() const { + return ownerId_; +} + +void ModifyDiskDeploymentRequest::setOwnerId(long ownerId) { + ownerId_ = ownerId; + setParameter(std::string("OwnerId"), std::to_string(ownerId)); +} + +std::string ModifyDiskDeploymentRequest::getStorageClusterId() const { + return storageClusterId_; +} + +void ModifyDiskDeploymentRequest::setStorageClusterId(const std::string &storageClusterId) { + storageClusterId_ = storageClusterId; + setParameter(std::string("StorageClusterId"), storageClusterId); +} + diff --git a/ecs/src/model/ModifyDiskDeploymentResult.cc b/ecs/src/model/ModifyDiskDeploymentResult.cc new file mode 100644 index 000000000..c4ee386d9 --- /dev/null +++ b/ecs/src/model/ModifyDiskDeploymentResult.cc @@ -0,0 +1,51 @@ +/* + * 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::Ecs; +using namespace AlibabaCloud::Ecs::Model; + +ModifyDiskDeploymentResult::ModifyDiskDeploymentResult() : + ServiceResult() +{} + +ModifyDiskDeploymentResult::ModifyDiskDeploymentResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ModifyDiskDeploymentResult::~ModifyDiskDeploymentResult() +{} + +void ModifyDiskDeploymentResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["TaskId"].isNull()) + taskId_ = value["TaskId"].asString(); + +} + +std::string ModifyDiskDeploymentResult::getTaskId()const +{ + return taskId_; +} + diff --git a/ecs/src/model/ModifyDiskSpecRequest.cc b/ecs/src/model/ModifyDiskSpecRequest.cc index dbb79b75c..ea32ecc0d 100644 --- a/ecs/src/model/ModifyDiskSpecRequest.cc +++ b/ecs/src/model/ModifyDiskSpecRequest.cc @@ -88,6 +88,17 @@ void ModifyDiskSpecRequest::setOwnerAccount(const std::string &ownerAccount) { setParameter(std::string("OwnerAccount"), ownerAccount); } +ModifyDiskSpecRequest::PerformanceControlOptions ModifyDiskSpecRequest::getPerformanceControlOptions() const { + return performanceControlOptions_; +} + +void ModifyDiskSpecRequest::setPerformanceControlOptions(const ModifyDiskSpecRequest::PerformanceControlOptions &performanceControlOptions) { + performanceControlOptions_ = performanceControlOptions; + setParameter(std::string("PerformanceControlOptions") + ".IOPS", std::to_string(performanceControlOptions.iOPS)); + setParameter(std::string("PerformanceControlOptions") + ".Throughput", std::to_string(performanceControlOptions.throughput)); + setParameter(std::string("PerformanceControlOptions") + ".Recover", performanceControlOptions.recover); +} + long ModifyDiskSpecRequest::getOwnerId() const { return ownerId_; } diff --git a/ecs/src/model/ModifyInstanceSpecRequest.cc b/ecs/src/model/ModifyInstanceSpecRequest.cc index 043b594eb..5bb906147 100644 --- a/ecs/src/model/ModifyInstanceSpecRequest.cc +++ b/ecs/src/model/ModifyInstanceSpecRequest.cc @@ -88,6 +88,15 @@ void ModifyInstanceSpecRequest::setTemporaryEndTime(const std::string &temporary setParameter(std::string("Temporary.EndTime"), temporaryEndTime); } +std::string ModifyInstanceSpecRequest::getModifyMode() const { + return modifyMode_; +} + +void ModifyInstanceSpecRequest::setModifyMode(const std::string &modifyMode) { + modifyMode_ = modifyMode; + setParameter(std::string("ModifyMode"), modifyMode); +} + std::string ModifyInstanceSpecRequest::getResourceOwnerAccount() const { return resourceOwnerAccount_; } @@ -142,6 +151,21 @@ void ModifyInstanceSpecRequest::setAsync(bool async) { setParameter(std::string("Async"), async ? "true" : "false"); } +std::vector ModifyInstanceSpecRequest::getDisk() const { + return disk_; +} + +void ModifyInstanceSpecRequest::setDisk(const std::vector &disk) { + disk_ = disk; + for(int dep1 = 0; dep1 != disk.size(); dep1++) { + auto diskObj = disk.at(dep1); + std::string diskObjStr = std::string("Disk") + "." + std::to_string(dep1 + 1); + setParameter(diskObjStr + ".PerformanceLevel", diskObj.performanceLevel); + setParameter(diskObjStr + ".DiskId", diskObj.diskId); + setParameter(diskObjStr + ".Category", diskObj.category); + } +} + std::string ModifyInstanceSpecRequest::getInstanceId() const { return instanceId_; } diff --git a/ecs/src/model/ModifyPrepayInstanceSpecRequest.cc b/ecs/src/model/ModifyPrepayInstanceSpecRequest.cc index 076205a69..24bffec3f 100644 --- a/ecs/src/model/ModifyPrepayInstanceSpecRequest.cc +++ b/ecs/src/model/ModifyPrepayInstanceSpecRequest.cc @@ -106,6 +106,15 @@ void ModifyPrepayInstanceSpecRequest::setInstanceType(const std::string &instanc setParameter(std::string("InstanceType"), instanceType); } +std::string ModifyPrepayInstanceSpecRequest::getModifyMode() const { + return modifyMode_; +} + +void ModifyPrepayInstanceSpecRequest::setModifyMode(const std::string &modifyMode) { + modifyMode_ = modifyMode; + setParameter(std::string("ModifyMode"), modifyMode); +} + bool ModifyPrepayInstanceSpecRequest::getAutoPay() const { return autoPay_; } @@ -160,6 +169,21 @@ void ModifyPrepayInstanceSpecRequest::setOwnerId(long ownerId) { setParameter(std::string("OwnerId"), std::to_string(ownerId)); } +std::vector ModifyPrepayInstanceSpecRequest::getDisk() const { + return disk_; +} + +void ModifyPrepayInstanceSpecRequest::setDisk(const std::vector &disk) { + disk_ = disk; + for(int dep1 = 0; dep1 != disk.size(); dep1++) { + auto diskObj = disk.at(dep1); + std::string diskObjStr = std::string("Disk") + "." + std::to_string(dep1 + 1); + setParameter(diskObjStr + ".PerformanceLevel", diskObj.performanceLevel); + setParameter(diskObjStr + ".DiskId", diskObj.diskId); + setParameter(diskObjStr + ".Category", diskObj.category); + } +} + std::string ModifyPrepayInstanceSpecRequest::getInstanceId() const { return instanceId_; }