diff --git a/CHANGELOG b/CHANGELOG index f2c0a0f02..245bece47 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-03-24 Version: 1.36.331 +- DescribeInstanceTypes Supports EniIpv6AddressQuantity. + 2020-03-23 Version: 1.36.330 - Generated 2015-01-01 for `R-kvstore`. - Add DescribeSecurityGroupConfiguration API. diff --git a/VERSION b/VERSION index c48c5234b..ce22850c7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.330 \ No newline at end of file +1.36.331 \ No newline at end of file diff --git a/ecs/CMakeLists.txt b/ecs/CMakeLists.txt index c5070762d..5ee40dbd3 100644 --- a/ecs/CMakeLists.txt +++ b/ecs/CMakeLists.txt @@ -457,6 +457,8 @@ set(ecs_public_header_model include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesRequest.h include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h + include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h + include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecRequest.h include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecResult.h include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h @@ -1014,6 +1016,8 @@ set(ecs_src src/model/ModifyInstanceDeploymentResult.cc src/model/ModifyInstanceMaintenanceAttributesRequest.cc src/model/ModifyInstanceMaintenanceAttributesResult.cc + src/model/ModifyInstanceMetadataOptionsRequest.cc + src/model/ModifyInstanceMetadataOptionsResult.cc src/model/ModifyInstanceNetworkSpecRequest.cc src/model/ModifyInstanceNetworkSpecResult.cc src/model/ModifyInstanceSpecRequest.cc diff --git a/ecs/include/alibabacloud/ecs/EcsClient.h b/ecs/include/alibabacloud/ecs/EcsClient.h index 22b62eb5d..c02808ffb 100644 --- a/ecs/include/alibabacloud/ecs/EcsClient.h +++ b/ecs/include/alibabacloud/ecs/EcsClient.h @@ -458,6 +458,8 @@ #include "model/ModifyInstanceDeploymentResult.h" #include "model/ModifyInstanceMaintenanceAttributesRequest.h" #include "model/ModifyInstanceMaintenanceAttributesResult.h" +#include "model/ModifyInstanceMetadataOptionsRequest.h" +#include "model/ModifyInstanceMetadataOptionsResult.h" #include "model/ModifyInstanceNetworkSpecRequest.h" #include "model/ModifyInstanceNetworkSpecResult.h" #include "model/ModifyInstanceSpecRequest.h" @@ -1239,6 +1241,9 @@ namespace AlibabaCloud typedef Outcome ModifyInstanceMaintenanceAttributesOutcome; typedef std::future ModifyInstanceMaintenanceAttributesOutcomeCallable; typedef std::function&)> ModifyInstanceMaintenanceAttributesAsyncHandler; + typedef Outcome ModifyInstanceMetadataOptionsOutcome; + typedef std::future ModifyInstanceMetadataOptionsOutcomeCallable; + typedef std::function&)> ModifyInstanceMetadataOptionsAsyncHandler; typedef Outcome ModifyInstanceNetworkSpecOutcome; typedef std::future ModifyInstanceNetworkSpecOutcomeCallable; typedef std::function&)> ModifyInstanceNetworkSpecAsyncHandler; @@ -2075,6 +2080,9 @@ namespace AlibabaCloud ModifyInstanceMaintenanceAttributesOutcome modifyInstanceMaintenanceAttributes(const Model::ModifyInstanceMaintenanceAttributesRequest &request)const; void modifyInstanceMaintenanceAttributesAsync(const Model::ModifyInstanceMaintenanceAttributesRequest& request, const ModifyInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ModifyInstanceMaintenanceAttributesOutcomeCallable modifyInstanceMaintenanceAttributesCallable(const Model::ModifyInstanceMaintenanceAttributesRequest& request) const; + ModifyInstanceMetadataOptionsOutcome modifyInstanceMetadataOptions(const Model::ModifyInstanceMetadataOptionsRequest &request)const; + void modifyInstanceMetadataOptionsAsync(const Model::ModifyInstanceMetadataOptionsRequest& request, const ModifyInstanceMetadataOptionsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ModifyInstanceMetadataOptionsOutcomeCallable modifyInstanceMetadataOptionsCallable(const Model::ModifyInstanceMetadataOptionsRequest& request) const; ModifyInstanceNetworkSpecOutcome modifyInstanceNetworkSpec(const Model::ModifyInstanceNetworkSpecRequest &request)const; void modifyInstanceNetworkSpecAsync(const Model::ModifyInstanceNetworkSpecRequest& request, const ModifyInstanceNetworkSpecAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ModifyInstanceNetworkSpecOutcomeCallable modifyInstanceNetworkSpecCallable(const Model::ModifyInstanceNetworkSpecRequest& request) const; diff --git a/ecs/include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyRequest.h b/ecs/include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyRequest.h index f191efc90..6aa000a86 100644 --- a/ecs/include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyRequest.h +++ b/ecs/include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyRequest.h @@ -30,6 +30,12 @@ namespace AlibabaCloud { class ALIBABACLOUD_ECS_EXPORT CreateAutoSnapshotPolicyRequest : public RpcServiceRequest { + public: + struct Tag + { + std::string value; + std::string key; + }; public: CreateAutoSnapshotPolicyRequest(); @@ -43,6 +49,8 @@ namespace AlibabaCloud void setRepeatWeekdays(const std::string& repeatWeekdays); std::string getRegionId()const; void setRegionId(const std::string& regionId); + std::vector getTag()const; + void setTag(const std::vector& tag); std::string getResourceOwnerAccount()const; void setResourceOwnerAccount(const std::string& resourceOwnerAccount); long getOwnerId()const; @@ -57,6 +65,7 @@ namespace AlibabaCloud std::string timePoints_; std::string repeatWeekdays_; std::string regionId_; + std::vector tag_; std::string resourceOwnerAccount_; long ownerId_; std::string autoSnapshotPolicyName_; diff --git a/ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h b/ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h index 720af3555..096e09af4 100644 --- a/ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h +++ b/ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h @@ -65,6 +65,8 @@ namespace AlibabaCloud void setResourceOwnerId(long resourceOwnerId); std::string getHpcClusterId()const; void setHpcClusterId(const std::string& hpcClusterId); + int getHttpPutResponseHopLimit()const; + void setHttpPutResponseHopLimit(int httpPutResponseHopLimit); std::string getSecurityEnhancementStrategy()const; void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy); std::string getKeyPairName()const; @@ -145,6 +147,8 @@ namespace AlibabaCloud void setPasswordInherit(bool passwordInherit); std::string getRegionId()const; void setRegionId(const std::string& regionId); + std::string getHttpEndpoint()const; + void setHttpEndpoint(const std::string& httpEndpoint); std::string getInstanceType()const; void setInstanceType(const std::string& instanceType); std::vector getArn()const; @@ -181,12 +185,15 @@ namespace AlibabaCloud void setSystemDiskSize(int systemDiskSize); std::string getImageFamily()const; void setImageFamily(const std::string& imageFamily); + std::string getHttpTokens()const; + void setHttpTokens(const std::string& httpTokens); std::string getSystemDiskDescription()const; void setSystemDiskDescription(const std::string& systemDiskDescription); private: long resourceOwnerId_; std::string hpcClusterId_; + int httpPutResponseHopLimit_; std::string securityEnhancementStrategy_; std::string keyPairName_; float spotPriceLimit_; @@ -227,6 +234,7 @@ namespace AlibabaCloud std::string userData_; bool passwordInherit_; std::string regionId_; + std::string httpEndpoint_; std::string instanceType_; std::vector arn_; std::string instanceChargeType_; @@ -245,6 +253,7 @@ namespace AlibabaCloud std::string storageSetId_; int systemDiskSize_; std::string imageFamily_; + std::string httpTokens_; std::string systemDiskDescription_; }; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h b/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h index 11346c3e6..88d2fa4a0 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExRequest.h @@ -30,6 +30,12 @@ namespace AlibabaCloud { class ALIBABACLOUD_ECS_EXPORT DescribeAutoSnapshotPolicyExRequest : public RpcServiceRequest { + public: + struct Tag + { + std::string value; + std::string key; + }; public: DescribeAutoSnapshotPolicyExRequest(); @@ -45,6 +51,8 @@ namespace AlibabaCloud void setRegionId(const std::string& regionId); int getPageSize()const; void setPageSize(int pageSize); + std::vector getTag()const; + void setTag(const std::vector& tag); std::string getResourceOwnerAccount()const; void setResourceOwnerAccount(const std::string& resourceOwnerAccount); std::string getOwnerAccount()const; @@ -58,6 +66,7 @@ namespace AlibabaCloud int pageNumber_; std::string regionId_; int pageSize_; + std::vector tag_; std::string resourceOwnerAccount_; std::string ownerAccount_; long ownerId_; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExResult.h b/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExResult.h index 71226a0a2..2dbc0a731 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExResult.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeAutoSnapshotPolicyExResult.h @@ -34,6 +34,11 @@ namespace AlibabaCloud public: struct AutoSnapshotPolicy { + struct Tag + { + std::string tagKey; + std::string tagValue; + }; std::string status; std::string timePoints; int volumeNums; @@ -43,6 +48,7 @@ namespace AlibabaCloud std::string regionId; std::string repeatWeekdays; std::string autoSnapshotPolicyName; + std::vector tags; int diskNums; }; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h b/ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h index bbed98329..2c6fad61e 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h @@ -36,6 +36,7 @@ namespace AlibabaCloud { float memorySize; long instancePpsTx; + int eniIpv6AddressQuantity; int cpuCoreCount; long localStorageCapacity; std::string instanceTypeFamily; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeInstancesRequest.h b/ecs/include/alibabacloud/ecs/model/DescribeInstancesRequest.h index 2d0fabc7a..0917e57b9 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeInstancesRequest.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeInstancesRequest.h @@ -49,6 +49,8 @@ namespace AlibabaCloud void setPrivateIpAddresses(const std::string& privateIpAddresses); std::string getHpcClusterId()const; void setHpcClusterId(const std::string& hpcClusterId); + int getHttpPutResponseHopLimit()const; + void setHttpPutResponseHopLimit(int httpPutResponseHopLimit); std::string getFilter2Value()const; void setFilter2Value(const std::string& filter2Value); std::string getKeyPairName()const; @@ -75,6 +77,8 @@ namespace AlibabaCloud void setOwnerId(long ownerId); std::string getVSwitchId()const; void setVSwitchId(const std::string& vSwitchId); + std::vector getAdditionalAttributes()const; + void setAdditionalAttributes(const std::vector& additionalAttributes); std::string getInstanceName()const; void setInstanceName(const std::string& instanceName); std::string getInstanceIds()const; @@ -103,6 +107,8 @@ namespace AlibabaCloud void setRegionId(const std::string& regionId); std::string getRdmaIpAddresses()const; void setRdmaIpAddresses(const std::string& rdmaIpAddresses); + std::string getHttpEndpoint()const; + void setHttpEndpoint(const std::string& httpEndpoint); int getPageSize()const; void setPageSize(int pageSize); std::string getPublicIpAddresses()const; @@ -123,6 +129,8 @@ namespace AlibabaCloud void setEipAddresses(const std::string& eipAddresses); std::string getVpcId()const; void setVpcId(const std::string& vpcId); + std::string getHttpTokens()const; + void setHttpTokens(const std::string& httpTokens); std::string getFilter3Key()const; void setFilter3Key(const std::string& filter3Key); @@ -131,6 +139,7 @@ namespace AlibabaCloud long resourceOwnerId_; std::string privateIpAddresses_; std::string hpcClusterId_; + int httpPutResponseHopLimit_; std::string filter2Value_; std::string keyPairName_; std::string resourceGroupId_; @@ -144,6 +153,7 @@ namespace AlibabaCloud bool needSaleCycle_; long ownerId_; std::string vSwitchId_; + std::vector additionalAttributes_; std::string instanceName_; std::string instanceIds_; std::string internetChargeType_; @@ -158,6 +168,7 @@ namespace AlibabaCloud int pageNumber_; std::string regionId_; std::string rdmaIpAddresses_; + std::string httpEndpoint_; int pageSize_; std::string publicIpAddresses_; std::string instanceType_; @@ -168,6 +179,7 @@ namespace AlibabaCloud std::string filter2Key_; std::string eipAddresses_; std::string vpcId_; + std::string httpTokens_; std::string filter3Key_; }; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h b/ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h index fb8dc5b77..412d20d88 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h @@ -70,6 +70,12 @@ namespace AlibabaCloud std::string numa; int coreCount; }; + struct MetadataOptions + { + int httpPutResponseHopLimit; + std::string httpTokens; + std::string httpEndpoint; + }; struct NetworkInterface { std::string primaryIpAddress; @@ -100,6 +106,7 @@ namespace AlibabaCloud std::string hostName; std::string vlanId; std::string status; + MetadataOptions metadataOptions; std::string instanceId; std::string stoppedMode; CpuOptions cpuOptions; diff --git a/ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesRequest.h b/ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesRequest.h index 72c2c4c9a..0a85212ab 100644 --- a/ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesRequest.h +++ b/ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesRequest.h @@ -83,6 +83,8 @@ namespace AlibabaCloud void setMaxResults(int maxResults); std::vector getNetworkInterfaceId()const; void setNetworkInterfaceId(const std::vector& networkInterfaceId); + std::string getStatus()const; + void setStatus(const std::string& status); private: long resourceOwnerId_; @@ -106,6 +108,7 @@ namespace AlibabaCloud std::string primaryIpAddress_; int maxResults_; std::vector networkInterfaceId_; + std::string status_; }; } diff --git a/ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h b/ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h new file mode 100644 index 000000000..94c69e366 --- /dev/null +++ b/ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsRequest.h @@ -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_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSREQUEST_H_ +#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Ecs + { + namespace Model + { + class ALIBABACLOUD_ECS_EXPORT ModifyInstanceMetadataOptionsRequest : public RpcServiceRequest + { + + public: + ModifyInstanceMetadataOptionsRequest(); + ~ModifyInstanceMetadataOptionsRequest(); + + long getResourceOwnerId()const; + void setResourceOwnerId(long resourceOwnerId); + int getHttpPutResponseHopLimit()const; + void setHttpPutResponseHopLimit(int httpPutResponseHopLimit); + std::string getRegionId()const; + void setRegionId(const std::string& regionId); + std::string getHttpEndpoint()const; + void setHttpEndpoint(const std::string& httpEndpoint); + std::string getResourceOwnerAccount()const; + void setResourceOwnerAccount(const std::string& resourceOwnerAccount); + long getOwnerId()const; + void setOwnerId(long ownerId); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + std::string getHttpTokens()const; + void setHttpTokens(const std::string& httpTokens); + + private: + long resourceOwnerId_; + int httpPutResponseHopLimit_; + std::string regionId_; + std::string httpEndpoint_; + std::string resourceOwnerAccount_; + long ownerId_; + std::string instanceId_; + std::string httpTokens_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSREQUEST_H_ \ No newline at end of file diff --git a/ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h b/ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h new file mode 100644 index 000000000..9fcaae8e5 --- /dev/null +++ b/ecs/include/alibabacloud/ecs/model/ModifyInstanceMetadataOptionsResult.h @@ -0,0 +1,49 @@ +/* + * 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_MODIFYINSTANCEMETADATAOPTIONSRESULT_H_ +#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Ecs + { + namespace Model + { + class ALIBABACLOUD_ECS_EXPORT ModifyInstanceMetadataOptionsResult : public ServiceResult + { + public: + + + ModifyInstanceMetadataOptionsResult(); + explicit ModifyInstanceMetadataOptionsResult(const std::string &payload); + ~ModifyInstanceMetadataOptionsResult(); + + protected: + void parse(const std::string &payload); + private: + + }; + } + } +} +#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMETADATAOPTIONSRESULT_H_ \ No newline at end of file diff --git a/ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h b/ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h index ea4b9bbb6..facfd1834 100644 --- a/ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h +++ b/ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h @@ -73,6 +73,8 @@ namespace AlibabaCloud void setUniqueSuffix(bool uniqueSuffix); std::string getHpcClusterId()const; void setHpcClusterId(const std::string& hpcClusterId); + int getHttpPutResponseHopLimit()const; + void setHttpPutResponseHopLimit(int httpPutResponseHopLimit); std::string getSecurityEnhancementStrategy()const; void setSecurityEnhancementStrategy(const std::string& securityEnhancementStrategy); std::string getKeyPairName()const; @@ -163,6 +165,8 @@ namespace AlibabaCloud void setPasswordInherit(bool passwordInherit); std::string getRegionId()const; void setRegionId(const std::string& regionId); + std::string getHttpEndpoint()const; + void setHttpEndpoint(const std::string& httpEndpoint); std::string getInstanceType()const; void setInstanceType(const std::string& instanceType); bool getHibernationConfigured()const; @@ -205,6 +209,8 @@ namespace AlibabaCloud void setSystemDiskSize(const std::string& systemDiskSize); std::string getImageFamily()const; void setImageFamily(const std::string& imageFamily); + std::string getHttpTokens()const; + void setHttpTokens(const std::string& httpTokens); std::string getSystemDiskDescription()const; void setSystemDiskDescription(const std::string& systemDiskDescription); @@ -213,6 +219,7 @@ namespace AlibabaCloud long resourceOwnerId_; bool uniqueSuffix_; std::string hpcClusterId_; + int httpPutResponseHopLimit_; std::string securityEnhancementStrategy_; std::string keyPairName_; int minAmount_; @@ -258,6 +265,7 @@ namespace AlibabaCloud std::string userData_; bool passwordInherit_; std::string regionId_; + std::string httpEndpoint_; std::string instanceType_; bool hibernationConfigured_; std::string instanceChargeType_; @@ -279,6 +287,7 @@ namespace AlibabaCloud std::string storageSetId_; std::string systemDiskSize_; std::string imageFamily_; + std::string httpTokens_; std::string systemDiskDescription_; }; diff --git a/ecs/src/EcsClient.cc b/ecs/src/EcsClient.cc index e85271de4..12af3a6a9 100644 --- a/ecs/src/EcsClient.cc +++ b/ecs/src/EcsClient.cc @@ -7899,6 +7899,42 @@ EcsClient::ModifyInstanceMaintenanceAttributesOutcomeCallable EcsClient::modifyI return task->get_future(); } +EcsClient::ModifyInstanceMetadataOptionsOutcome EcsClient::modifyInstanceMetadataOptions(const ModifyInstanceMetadataOptionsRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ModifyInstanceMetadataOptionsOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ModifyInstanceMetadataOptionsOutcome(ModifyInstanceMetadataOptionsResult(outcome.result())); + else + return ModifyInstanceMetadataOptionsOutcome(outcome.error()); +} + +void EcsClient::modifyInstanceMetadataOptionsAsync(const ModifyInstanceMetadataOptionsRequest& request, const ModifyInstanceMetadataOptionsAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, modifyInstanceMetadataOptions(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +EcsClient::ModifyInstanceMetadataOptionsOutcomeCallable EcsClient::modifyInstanceMetadataOptionsCallable(const ModifyInstanceMetadataOptionsRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->modifyInstanceMetadataOptions(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + EcsClient::ModifyInstanceNetworkSpecOutcome EcsClient::modifyInstanceNetworkSpec(const ModifyInstanceNetworkSpecRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/ecs/src/model/CreateAutoSnapshotPolicyRequest.cc b/ecs/src/model/CreateAutoSnapshotPolicyRequest.cc index 0a1a015dd..2f66b3c45 100644 --- a/ecs/src/model/CreateAutoSnapshotPolicyRequest.cc +++ b/ecs/src/model/CreateAutoSnapshotPolicyRequest.cc @@ -71,6 +71,22 @@ void CreateAutoSnapshotPolicyRequest::setRegionId(const std::string& regionId) setParameter("RegionId", regionId); } +std::vector CreateAutoSnapshotPolicyRequest::getTag()const +{ + return tag_; +} + +void CreateAutoSnapshotPolicyRequest::setTag(const std::vector& tag) +{ + tag_ = tag; + for(int dep1 = 0; dep1!= tag.size(); dep1++) { + auto tagObj = tag.at(dep1); + std::string tagObjStr = "Tag." + std::to_string(dep1 + 1); + setParameter(tagObjStr + ".Value", tagObj.value); + setParameter(tagObjStr + ".Key", tagObj.key); + } +} + std::string CreateAutoSnapshotPolicyRequest::getResourceOwnerAccount()const { return resourceOwnerAccount_; diff --git a/ecs/src/model/CreateInstanceRequest.cc b/ecs/src/model/CreateInstanceRequest.cc index 0fac143cb..b26e31ae0 100644 --- a/ecs/src/model/CreateInstanceRequest.cc +++ b/ecs/src/model/CreateInstanceRequest.cc @@ -49,6 +49,17 @@ void CreateInstanceRequest::setHpcClusterId(const std::string& hpcClusterId) setParameter("HpcClusterId", hpcClusterId); } +int CreateInstanceRequest::getHttpPutResponseHopLimit()const +{ + return httpPutResponseHopLimit_; +} + +void CreateInstanceRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit) +{ + httpPutResponseHopLimit_ = httpPutResponseHopLimit; + setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit)); +} + std::string CreateInstanceRequest::getSecurityEnhancementStrategy()const { return securityEnhancementStrategy_; @@ -494,6 +505,17 @@ void CreateInstanceRequest::setRegionId(const std::string& regionId) setParameter("RegionId", regionId); } +std::string CreateInstanceRequest::getHttpEndpoint()const +{ + return httpEndpoint_; +} + +void CreateInstanceRequest::setHttpEndpoint(const std::string& httpEndpoint) +{ + httpEndpoint_ = httpEndpoint; + setParameter("HttpEndpoint", httpEndpoint); +} + std::string CreateInstanceRequest::getInstanceType()const { return instanceType_; @@ -712,6 +734,17 @@ void CreateInstanceRequest::setImageFamily(const std::string& imageFamily) setParameter("ImageFamily", imageFamily); } +std::string CreateInstanceRequest::getHttpTokens()const +{ + return httpTokens_; +} + +void CreateInstanceRequest::setHttpTokens(const std::string& httpTokens) +{ + httpTokens_ = httpTokens; + setParameter("HttpTokens", httpTokens); +} + std::string CreateInstanceRequest::getSystemDiskDescription()const { return systemDiskDescription_; diff --git a/ecs/src/model/DescribeAutoSnapshotPolicyExRequest.cc b/ecs/src/model/DescribeAutoSnapshotPolicyExRequest.cc index b5b195967..1a42b6ac7 100644 --- a/ecs/src/model/DescribeAutoSnapshotPolicyExRequest.cc +++ b/ecs/src/model/DescribeAutoSnapshotPolicyExRequest.cc @@ -82,6 +82,22 @@ void DescribeAutoSnapshotPolicyExRequest::setPageSize(int pageSize) setParameter("PageSize", std::to_string(pageSize)); } +std::vector DescribeAutoSnapshotPolicyExRequest::getTag()const +{ + return tag_; +} + +void DescribeAutoSnapshotPolicyExRequest::setTag(const std::vector& tag) +{ + tag_ = tag; + for(int dep1 = 0; dep1!= tag.size(); dep1++) { + auto tagObj = tag.at(dep1); + std::string tagObjStr = "Tag." + std::to_string(dep1 + 1); + setParameter(tagObjStr + ".Value", tagObj.value); + setParameter(tagObjStr + ".Key", tagObj.key); + } +} + std::string DescribeAutoSnapshotPolicyExRequest::getResourceOwnerAccount()const { return resourceOwnerAccount_; diff --git a/ecs/src/model/DescribeAutoSnapshotPolicyExResult.cc b/ecs/src/model/DescribeAutoSnapshotPolicyExResult.cc index b8ddd6fd6..c45ae14cd 100644 --- a/ecs/src/model/DescribeAutoSnapshotPolicyExResult.cc +++ b/ecs/src/model/DescribeAutoSnapshotPolicyExResult.cc @@ -63,6 +63,16 @@ void DescribeAutoSnapshotPolicyExResult::parse(const std::string &payload) autoSnapshotPoliciesObject.creationTime = valueAutoSnapshotPoliciesAutoSnapshotPolicy["CreationTime"].asString(); if(!valueAutoSnapshotPoliciesAutoSnapshotPolicy["Status"].isNull()) autoSnapshotPoliciesObject.status = valueAutoSnapshotPoliciesAutoSnapshotPolicy["Status"].asString(); + auto allTagsNode = allAutoSnapshotPoliciesNode["Tags"]["Tag"]; + for (auto allAutoSnapshotPoliciesNodeTagsTag : allTagsNode) + { + AutoSnapshotPolicy::Tag tagsObject; + if(!allAutoSnapshotPoliciesNodeTagsTag["TagKey"].isNull()) + tagsObject.tagKey = allAutoSnapshotPoliciesNodeTagsTag["TagKey"].asString(); + if(!allAutoSnapshotPoliciesNodeTagsTag["TagValue"].isNull()) + tagsObject.tagValue = allAutoSnapshotPoliciesNodeTagsTag["TagValue"].asString(); + autoSnapshotPoliciesObject.tags.push_back(tagsObject); + } autoSnapshotPolicies_.push_back(autoSnapshotPoliciesObject); } if(!value["TotalCount"].isNull()) diff --git a/ecs/src/model/DescribeInstanceTypesResult.cc b/ecs/src/model/DescribeInstanceTypesResult.cc index 5618a31a5..cabf16c63 100644 --- a/ecs/src/model/DescribeInstanceTypesResult.cc +++ b/ecs/src/model/DescribeInstanceTypesResult.cc @@ -69,6 +69,8 @@ void DescribeInstanceTypesResult::parse(const std::string &payload) instanceTypesObject.eniQuantity = std::stoi(valueInstanceTypesInstanceType["EniQuantity"].asString()); if(!valueInstanceTypesInstanceType["EniPrivateIpAddressQuantity"].isNull()) instanceTypesObject.eniPrivateIpAddressQuantity = std::stoi(valueInstanceTypesInstanceType["EniPrivateIpAddressQuantity"].asString()); + if(!valueInstanceTypesInstanceType["EniIpv6AddressQuantity"].isNull()) + instanceTypesObject.eniIpv6AddressQuantity = std::stoi(valueInstanceTypesInstanceType["EniIpv6AddressQuantity"].asString()); if(!valueInstanceTypesInstanceType["InstanceBandwidthRx"].isNull()) instanceTypesObject.instanceBandwidthRx = std::stoi(valueInstanceTypesInstanceType["InstanceBandwidthRx"].asString()); if(!valueInstanceTypesInstanceType["InstanceBandwidthTx"].isNull()) diff --git a/ecs/src/model/DescribeInstancesRequest.cc b/ecs/src/model/DescribeInstancesRequest.cc index 80cce285d..7268ddf41 100644 --- a/ecs/src/model/DescribeInstancesRequest.cc +++ b/ecs/src/model/DescribeInstancesRequest.cc @@ -71,6 +71,17 @@ void DescribeInstancesRequest::setHpcClusterId(const std::string& hpcClusterId) setParameter("HpcClusterId", hpcClusterId); } +int DescribeInstancesRequest::getHttpPutResponseHopLimit()const +{ + return httpPutResponseHopLimit_; +} + +void DescribeInstancesRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit) +{ + httpPutResponseHopLimit_ = httpPutResponseHopLimit; + setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit)); +} + std::string DescribeInstancesRequest::getFilter2Value()const { return filter2Value_; @@ -219,6 +230,19 @@ void DescribeInstancesRequest::setVSwitchId(const std::string& vSwitchId) setParameter("VSwitchId", vSwitchId); } +std::vector DescribeInstancesRequest::getAdditionalAttributes()const +{ + return additionalAttributes_; +} + +void DescribeInstancesRequest::setAdditionalAttributes(const std::vector& additionalAttributes) +{ + additionalAttributes_ = additionalAttributes; + for(int dep1 = 0; dep1!= additionalAttributes.size(); dep1++) { + setParameter("AdditionalAttributes."+ std::to_string(dep1), additionalAttributes.at(dep1)); + } +} + std::string DescribeInstancesRequest::getInstanceName()const { return instanceName_; @@ -373,6 +397,17 @@ void DescribeInstancesRequest::setRdmaIpAddresses(const std::string& rdmaIpAddre setParameter("RdmaIpAddresses", rdmaIpAddresses); } +std::string DescribeInstancesRequest::getHttpEndpoint()const +{ + return httpEndpoint_; +} + +void DescribeInstancesRequest::setHttpEndpoint(const std::string& httpEndpoint) +{ + httpEndpoint_ = httpEndpoint; + setParameter("HttpEndpoint", httpEndpoint); +} + int DescribeInstancesRequest::getPageSize()const { return pageSize_; @@ -483,6 +518,17 @@ void DescribeInstancesRequest::setVpcId(const std::string& vpcId) setParameter("VpcId", vpcId); } +std::string DescribeInstancesRequest::getHttpTokens()const +{ + return httpTokens_; +} + +void DescribeInstancesRequest::setHttpTokens(const std::string& httpTokens) +{ + httpTokens_ = httpTokens; + setParameter("HttpTokens", httpTokens); +} + std::string DescribeInstancesRequest::getFilter3Key()const { return filter3Key_; diff --git a/ecs/src/model/DescribeInstancesResult.cc b/ecs/src/model/DescribeInstancesResult.cc index 93a626562..49f459a8e 100644 --- a/ecs/src/model/DescribeInstancesResult.cc +++ b/ecs/src/model/DescribeInstancesResult.cc @@ -206,6 +206,13 @@ void DescribeInstancesResult::parse(const std::string &payload) instancesObject.cpuOptions.threadsPerCore = std::stoi(cpuOptionsNode["ThreadsPerCore"].asString()); if(!cpuOptionsNode["Numa"].isNull()) instancesObject.cpuOptions.numa = cpuOptionsNode["Numa"].asString(); + auto metadataOptionsNode = value["MetadataOptions"]; + if(!metadataOptionsNode["HttpEndpoint"].isNull()) + instancesObject.metadataOptions.httpEndpoint = metadataOptionsNode["HttpEndpoint"].asString(); + if(!metadataOptionsNode["HttpTokens"].isNull()) + instancesObject.metadataOptions.httpTokens = metadataOptionsNode["HttpTokens"].asString(); + if(!metadataOptionsNode["HttpPutResponseHopLimit"].isNull()) + instancesObject.metadataOptions.httpPutResponseHopLimit = std::stoi(metadataOptionsNode["HttpPutResponseHopLimit"].asString()); auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"]; for (auto value : allSecurityGroupIds) instancesObject.securityGroupIds.push_back(value.asString()); diff --git a/ecs/src/model/DescribeNetworkInterfacesRequest.cc b/ecs/src/model/DescribeNetworkInterfacesRequest.cc index 2aad8bddd..b065ba67b 100644 --- a/ecs/src/model/DescribeNetworkInterfacesRequest.cc +++ b/ecs/src/model/DescribeNetworkInterfacesRequest.cc @@ -267,3 +267,14 @@ void DescribeNetworkInterfacesRequest::setNetworkInterfaceId(const std::vector + +using AlibabaCloud::Ecs::Model::ModifyInstanceMetadataOptionsRequest; + +ModifyInstanceMetadataOptionsRequest::ModifyInstanceMetadataOptionsRequest() : + RpcServiceRequest("ecs", "2014-05-26", "ModifyInstanceMetadataOptions") +{ + setMethod(HttpRequest::Method::Post); +} + +ModifyInstanceMetadataOptionsRequest::~ModifyInstanceMetadataOptionsRequest() +{} + +long ModifyInstanceMetadataOptionsRequest::getResourceOwnerId()const +{ + return resourceOwnerId_; +} + +void ModifyInstanceMetadataOptionsRequest::setResourceOwnerId(long resourceOwnerId) +{ + resourceOwnerId_ = resourceOwnerId; + setParameter("ResourceOwnerId", std::to_string(resourceOwnerId)); +} + +int ModifyInstanceMetadataOptionsRequest::getHttpPutResponseHopLimit()const +{ + return httpPutResponseHopLimit_; +} + +void ModifyInstanceMetadataOptionsRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit) +{ + httpPutResponseHopLimit_ = httpPutResponseHopLimit; + setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit)); +} + +std::string ModifyInstanceMetadataOptionsRequest::getRegionId()const +{ + return regionId_; +} + +void ModifyInstanceMetadataOptionsRequest::setRegionId(const std::string& regionId) +{ + regionId_ = regionId; + setParameter("RegionId", regionId); +} + +std::string ModifyInstanceMetadataOptionsRequest::getHttpEndpoint()const +{ + return httpEndpoint_; +} + +void ModifyInstanceMetadataOptionsRequest::setHttpEndpoint(const std::string& httpEndpoint) +{ + httpEndpoint_ = httpEndpoint; + setParameter("HttpEndpoint", httpEndpoint); +} + +std::string ModifyInstanceMetadataOptionsRequest::getResourceOwnerAccount()const +{ + return resourceOwnerAccount_; +} + +void ModifyInstanceMetadataOptionsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount) +{ + resourceOwnerAccount_ = resourceOwnerAccount; + setParameter("ResourceOwnerAccount", resourceOwnerAccount); +} + +long ModifyInstanceMetadataOptionsRequest::getOwnerId()const +{ + return ownerId_; +} + +void ModifyInstanceMetadataOptionsRequest::setOwnerId(long ownerId) +{ + ownerId_ = ownerId; + setParameter("OwnerId", std::to_string(ownerId)); +} + +std::string ModifyInstanceMetadataOptionsRequest::getInstanceId()const +{ + return instanceId_; +} + +void ModifyInstanceMetadataOptionsRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + +std::string ModifyInstanceMetadataOptionsRequest::getHttpTokens()const +{ + return httpTokens_; +} + +void ModifyInstanceMetadataOptionsRequest::setHttpTokens(const std::string& httpTokens) +{ + httpTokens_ = httpTokens; + setParameter("HttpTokens", httpTokens); +} + diff --git a/ecs/src/model/ModifyInstanceMetadataOptionsResult.cc b/ecs/src/model/ModifyInstanceMetadataOptionsResult.cc new file mode 100644 index 000000000..415561c51 --- /dev/null +++ b/ecs/src/model/ModifyInstanceMetadataOptionsResult.cc @@ -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 +#include + +using namespace AlibabaCloud::Ecs; +using namespace AlibabaCloud::Ecs::Model; + +ModifyInstanceMetadataOptionsResult::ModifyInstanceMetadataOptionsResult() : + ServiceResult() +{} + +ModifyInstanceMetadataOptionsResult::ModifyInstanceMetadataOptionsResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ModifyInstanceMetadataOptionsResult::~ModifyInstanceMetadataOptionsResult() +{} + +void ModifyInstanceMetadataOptionsResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + +} + diff --git a/ecs/src/model/RunInstancesRequest.cc b/ecs/src/model/RunInstancesRequest.cc index c0dfd1cc6..97b5e0e40 100644 --- a/ecs/src/model/RunInstancesRequest.cc +++ b/ecs/src/model/RunInstancesRequest.cc @@ -71,6 +71,17 @@ void RunInstancesRequest::setHpcClusterId(const std::string& hpcClusterId) setParameter("HpcClusterId", hpcClusterId); } +int RunInstancesRequest::getHttpPutResponseHopLimit()const +{ + return httpPutResponseHopLimit_; +} + +void RunInstancesRequest::setHttpPutResponseHopLimit(int httpPutResponseHopLimit) +{ + httpPutResponseHopLimit_ = httpPutResponseHopLimit; + setParameter("HttpPutResponseHopLimit", std::to_string(httpPutResponseHopLimit)); +} + std::string RunInstancesRequest::getSecurityEnhancementStrategy()const { return securityEnhancementStrategy_; @@ -573,6 +584,17 @@ void RunInstancesRequest::setRegionId(const std::string& regionId) setParameter("RegionId", regionId); } +std::string RunInstancesRequest::getHttpEndpoint()const +{ + return httpEndpoint_; +} + +void RunInstancesRequest::setHttpEndpoint(const std::string& httpEndpoint) +{ + httpEndpoint_ = httpEndpoint; + setParameter("HttpEndpoint", httpEndpoint); +} + std::string RunInstancesRequest::getInstanceType()const { return instanceType_; @@ -832,6 +854,17 @@ void RunInstancesRequest::setImageFamily(const std::string& imageFamily) setParameter("ImageFamily", imageFamily); } +std::string RunInstancesRequest::getHttpTokens()const +{ + return httpTokens_; +} + +void RunInstancesRequest::setHttpTokens(const std::string& httpTokens) +{ + httpTokens_ = httpTokens; + setParameter("HttpTokens", httpTokens); +} + std::string RunInstancesRequest::getSystemDiskDescription()const { return systemDiskDescription_;