in ess-20220222/src/ess_20220222.cpp [976:1182]
CreateScalingConfigurationResponse Alibabacloud_Ess20220222::Client::createScalingConfigurationWithOptions(shared_ptr<CreateScalingConfigurationRequest> tmpReq, shared_ptr<Darabonba_Util::RuntimeOptions> runtime) {
Darabonba_Util::Client::validateModel(tmpReq);
shared_ptr<CreateScalingConfigurationShrinkRequest> request = make_shared<CreateScalingConfigurationShrinkRequest>();
Alibabacloud_OpenApiUtil::Client::convert(tmpReq, request);
if (!Darabonba_Util::Client::isUnset<map<string, boost::any>>(tmpReq->schedulerOptions)) {
request->schedulerOptionsShrink = make_shared<string>(Alibabacloud_OpenApiUtil::Client::arrayToStringWithSpecifiedStyle(tmpReq->schedulerOptions, make_shared<string>("SchedulerOptions"), make_shared<string>("json")));
}
shared_ptr<map<string, boost::any>> query = make_shared<map<string, boost::any>>(map<string, boost::any>());
if (!Darabonba_Util::Client::isUnset<string>(request->affinity)) {
query->insert(pair<string, string>("Affinity", *request->affinity));
}
if (!Darabonba_Util::Client::isUnset<string>(request->clientToken)) {
query->insert(pair<string, string>("ClientToken", *request->clientToken));
}
if (!Darabonba_Util::Client::isUnset<long>(request->cpu)) {
query->insert(pair<string, long>("Cpu", *request->cpu));
}
if (!Darabonba_Util::Client::isUnset<string>(request->creditSpecification)) {
query->insert(pair<string, string>("CreditSpecification", *request->creditSpecification));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingConfigurationShrinkRequestCustomPriorities>>(request->customPriorities)) {
query->insert(pair<string, vector<CreateScalingConfigurationShrinkRequestCustomPriorities>>("CustomPriorities", *request->customPriorities));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingConfigurationShrinkRequestDataDisks>>(request->dataDisks)) {
query->insert(pair<string, vector<CreateScalingConfigurationShrinkRequestDataDisks>>("DataDisks", *request->dataDisks));
}
if (!Darabonba_Util::Client::isUnset<string>(request->dedicatedHostClusterId)) {
query->insert(pair<string, string>("DedicatedHostClusterId", *request->dedicatedHostClusterId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->dedicatedHostId)) {
query->insert(pair<string, string>("DedicatedHostId", *request->dedicatedHostId));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->deletionProtection)) {
query->insert(pair<string, bool>("DeletionProtection", *request->deletionProtection));
}
if (!Darabonba_Util::Client::isUnset<string>(request->deploymentSetId)) {
query->insert(pair<string, string>("DeploymentSetId", *request->deploymentSetId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->hostName)) {
query->insert(pair<string, string>("HostName", *request->hostName));
}
if (!Darabonba_Util::Client::isUnset<string>(request->hpcClusterId)) {
query->insert(pair<string, string>("HpcClusterId", *request->hpcClusterId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->httpEndpoint)) {
query->insert(pair<string, string>("HttpEndpoint", *request->httpEndpoint));
}
if (!Darabonba_Util::Client::isUnset<string>(request->httpTokens)) {
query->insert(pair<string, string>("HttpTokens", *request->httpTokens));
}
if (!Darabonba_Util::Client::isUnset<string>(request->imageFamily)) {
query->insert(pair<string, string>("ImageFamily", *request->imageFamily));
}
if (!Darabonba_Util::Client::isUnset<string>(request->imageId)) {
query->insert(pair<string, string>("ImageId", *request->imageId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->imageName)) {
query->insert(pair<string, string>("ImageName", *request->imageName));
}
if (!Darabonba_Util::Client::isUnset<string>(request->instanceDescription)) {
query->insert(pair<string, string>("InstanceDescription", *request->instanceDescription));
}
if (!Darabonba_Util::Client::isUnset<string>(request->instanceName)) {
query->insert(pair<string, string>("InstanceName", *request->instanceName));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingConfigurationShrinkRequestInstancePatternInfos>>(request->instancePatternInfos)) {
query->insert(pair<string, vector<CreateScalingConfigurationShrinkRequestInstancePatternInfos>>("InstancePatternInfos", *request->instancePatternInfos));
}
if (!Darabonba_Util::Client::isUnset<string>(request->instanceType)) {
query->insert(pair<string, string>("InstanceType", *request->instanceType));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingConfigurationShrinkRequestInstanceTypeOverrides>>(request->instanceTypeOverrides)) {
query->insert(pair<string, vector<CreateScalingConfigurationShrinkRequestInstanceTypeOverrides>>("InstanceTypeOverrides", *request->instanceTypeOverrides));
}
if (!Darabonba_Util::Client::isUnset<vector<string>>(request->instanceTypes)) {
query->insert(pair<string, vector<string>>("InstanceTypes", *request->instanceTypes));
}
if (!Darabonba_Util::Client::isUnset<string>(request->internetChargeType)) {
query->insert(pair<string, string>("InternetChargeType", *request->internetChargeType));
}
if (!Darabonba_Util::Client::isUnset<long>(request->internetMaxBandwidthIn)) {
query->insert(pair<string, long>("InternetMaxBandwidthIn", *request->internetMaxBandwidthIn));
}
if (!Darabonba_Util::Client::isUnset<long>(request->internetMaxBandwidthOut)) {
query->insert(pair<string, long>("InternetMaxBandwidthOut", *request->internetMaxBandwidthOut));
}
if (!Darabonba_Util::Client::isUnset<string>(request->ioOptimized)) {
query->insert(pair<string, string>("IoOptimized", *request->ioOptimized));
}
if (!Darabonba_Util::Client::isUnset<long>(request->ipv6AddressCount)) {
query->insert(pair<string, long>("Ipv6AddressCount", *request->ipv6AddressCount));
}
if (!Darabonba_Util::Client::isUnset<string>(request->keyPairName)) {
query->insert(pair<string, string>("KeyPairName", *request->keyPairName));
}
if (!Darabonba_Util::Client::isUnset<long>(request->loadBalancerWeight)) {
query->insert(pair<string, long>("LoadBalancerWeight", *request->loadBalancerWeight));
}
if (!Darabonba_Util::Client::isUnset<long>(request->memory)) {
query->insert(pair<string, long>("Memory", *request->memory));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingConfigurationShrinkRequestNetworkInterfaces>>(request->networkInterfaces)) {
query->insert(pair<string, vector<CreateScalingConfigurationShrinkRequestNetworkInterfaces>>("NetworkInterfaces", *request->networkInterfaces));
}
if (!Darabonba_Util::Client::isUnset<string>(request->ownerAccount)) {
query->insert(pair<string, string>("OwnerAccount", *request->ownerAccount));
}
if (!Darabonba_Util::Client::isUnset<long>(request->ownerId)) {
query->insert(pair<string, long>("OwnerId", *request->ownerId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->password)) {
query->insert(pair<string, string>("Password", *request->password));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->passwordInherit)) {
query->insert(pair<string, bool>("PasswordInherit", *request->passwordInherit));
}
if (!Darabonba_Util::Client::isUnset<string>(request->ramRoleName)) {
query->insert(pair<string, string>("RamRoleName", *request->ramRoleName));
}
if (!Darabonba_Util::Client::isUnset<string>(request->resourceGroupId)) {
query->insert(pair<string, string>("ResourceGroupId", *request->resourceGroupId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->resourceOwnerAccount)) {
query->insert(pair<string, string>("ResourceOwnerAccount", *request->resourceOwnerAccount));
}
if (!Darabonba_Util::Client::isUnset<CreateScalingConfigurationShrinkRequestResourcePoolOptions>(request->resourcePoolOptions)) {
query->insert(pair<string, CreateScalingConfigurationShrinkRequestResourcePoolOptions>("ResourcePoolOptions", *request->resourcePoolOptions));
}
if (!Darabonba_Util::Client::isUnset<string>(request->scalingConfigurationName)) {
query->insert(pair<string, string>("ScalingConfigurationName", *request->scalingConfigurationName));
}
if (!Darabonba_Util::Client::isUnset<string>(request->scalingGroupId)) {
query->insert(pair<string, string>("ScalingGroupId", *request->scalingGroupId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->schedulerOptionsShrink)) {
query->insert(pair<string, string>("SchedulerOptions", *request->schedulerOptionsShrink));
}
if (!Darabonba_Util::Client::isUnset<string>(request->securityEnhancementStrategy)) {
query->insert(pair<string, string>("SecurityEnhancementStrategy", *request->securityEnhancementStrategy));
}
if (!Darabonba_Util::Client::isUnset<string>(request->securityGroupId)) {
query->insert(pair<string, string>("SecurityGroupId", *request->securityGroupId));
}
if (!Darabonba_Util::Client::isUnset<vector<string>>(request->securityGroupIds)) {
query->insert(pair<string, vector<string>>("SecurityGroupIds", *request->securityGroupIds));
}
if (!Darabonba_Util::Client::isUnset<CreateScalingConfigurationShrinkRequestSecurityOptions>(request->securityOptions)) {
query->insert(pair<string, CreateScalingConfigurationShrinkRequestSecurityOptions>("SecurityOptions", *request->securityOptions));
}
if (!Darabonba_Util::Client::isUnset<long>(request->spotDuration)) {
query->insert(pair<string, long>("SpotDuration", *request->spotDuration));
}
if (!Darabonba_Util::Client::isUnset<string>(request->spotInterruptionBehavior)) {
query->insert(pair<string, string>("SpotInterruptionBehavior", *request->spotInterruptionBehavior));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingConfigurationShrinkRequestSpotPriceLimits>>(request->spotPriceLimits)) {
query->insert(pair<string, vector<CreateScalingConfigurationShrinkRequestSpotPriceLimits>>("SpotPriceLimits", *request->spotPriceLimits));
}
if (!Darabonba_Util::Client::isUnset<string>(request->spotStrategy)) {
query->insert(pair<string, string>("SpotStrategy", *request->spotStrategy));
}
if (!Darabonba_Util::Client::isUnset<string>(request->storageSetId)) {
query->insert(pair<string, string>("StorageSetId", *request->storageSetId));
}
if (!Darabonba_Util::Client::isUnset<long>(request->storageSetPartitionNumber)) {
query->insert(pair<string, long>("StorageSetPartitionNumber", *request->storageSetPartitionNumber));
}
if (!Darabonba_Util::Client::isUnset<vector<string>>(request->systemDiskCategories)) {
query->insert(pair<string, vector<string>>("SystemDiskCategories", *request->systemDiskCategories));
}
if (!Darabonba_Util::Client::isUnset<string>(request->tags)) {
query->insert(pair<string, string>("Tags", *request->tags));
}
if (!Darabonba_Util::Client::isUnset<string>(request->tenancy)) {
query->insert(pair<string, string>("Tenancy", *request->tenancy));
}
if (!Darabonba_Util::Client::isUnset<string>(request->userData)) {
query->insert(pair<string, string>("UserData", *request->userData));
}
if (!Darabonba_Util::Client::isUnset<string>(request->zoneId)) {
query->insert(pair<string, string>("ZoneId", *request->zoneId));
}
if (!Darabonba_Util::Client::isUnset<CreateScalingConfigurationShrinkRequestImageOptions>(request->imageOptions)) {
query->insert(pair<string, CreateScalingConfigurationShrinkRequestImageOptions>("ImageOptions", *request->imageOptions));
}
if (!Darabonba_Util::Client::isUnset<CreateScalingConfigurationShrinkRequestPrivatePoolOptions>(request->privatePoolOptions)) {
query->insert(pair<string, CreateScalingConfigurationShrinkRequestPrivatePoolOptions>("PrivatePoolOptions", *request->privatePoolOptions));
}
if (!Darabonba_Util::Client::isUnset<CreateScalingConfigurationShrinkRequestSystemDisk>(request->systemDisk)) {
query->insert(pair<string, CreateScalingConfigurationShrinkRequestSystemDisk>("SystemDisk", *request->systemDisk));
}
shared_ptr<Alibabacloud_OpenApi::OpenApiRequest> req = make_shared<Alibabacloud_OpenApi::OpenApiRequest>(map<string, boost::any>({
{"query", boost::any(Alibabacloud_OpenApiUtil::Client::query(query))}
}));
shared_ptr<Alibabacloud_OpenApi::Params> params = make_shared<Alibabacloud_OpenApi::Params>(map<string, boost::any>({
{"action", boost::any(string("CreateScalingConfiguration"))},
{"version", boost::any(string("2022-02-22"))},
{"protocol", boost::any(string("HTTPS"))},
{"pathname", boost::any(string("/"))},
{"method", boost::any(string("POST"))},
{"authType", boost::any(string("AK"))},
{"style", boost::any(string("RPC"))},
{"reqBodyType", boost::any(string("formData"))},
{"bodyType", boost::any(string("json"))}
}));
return CreateScalingConfigurationResponse(callApi(params, req, runtime));
}