CreateScalingConfigurationResponse Alibabacloud_Ess20220222::Client::createScalingConfigurationWithOptions()

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));
}