RunInstancesResponse Alibabacloud_Ecs20160314::Client::runInstancesWithOptions()

in ecs-20160314/src/ecs_20160314.cpp [8817:9057]


RunInstancesResponse Alibabacloud_Ecs20160314::Client::runInstancesWithOptions(shared_ptr<RunInstancesRequest> request, shared_ptr<Darabonba_Util::RuntimeOptions> runtime) {
  Darabonba_Util::Client::validateModel(request);
  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->autoReleaseTime)) {
    query->insert(pair<string, string>("AutoReleaseTime", *request->autoReleaseTime));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->businessInfo)) {
    query->insert(pair<string, string>("BusinessInfo", *request->businessInfo));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clientToken)) {
    query->insert(pair<string, string>("ClientToken", *request->clientToken));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterId)) {
    query->insert(pair<string, string>("ClusterId", *request->clusterId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->creditSpecification)) {
    query->insert(pair<string, string>("CreditSpecification", *request->creditSpecification));
  }
  if (!Darabonba_Util::Client::isUnset<vector<RunInstancesRequestDataDisk>>(request->dataDisk)) {
    query->insert(pair<string, vector<RunInstancesRequestDataDisk>>("DataDisk", *request->dataDisk));
  }
  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<string>(request->defaultVpc)) {
    query->insert(pair<string, string>("DefaultVpc", *request->defaultVpc));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->deletionProtection)) {
    query->insert(pair<string, bool>("DeletionProtection", *request->deletionProtection));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->deploymentSetGroupNo)) {
    query->insert(pair<string, string>("DeploymentSetGroupNo", *request->deploymentSetGroupNo));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->deploymentSetId)) {
    query->insert(pair<string, string>("DeploymentSetId", *request->deploymentSetId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->description)) {
    query->insert(pair<string, string>("Description", *request->description));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->dryRun)) {
    query->insert(pair<string, bool>("DryRun", *request->dryRun));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->fromApp)) {
    query->insert(pair<string, string>("FromApp", *request->fromApp));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->hostName)) {
    query->insert(pair<string, string>("HostName", *request->hostName));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->hostNames)) {
    query->insert(pair<string, vector<string>>("HostNames", *request->hostNames));
  }
  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<long>(request->httpPutResponseHopLimit)) {
    query->insert(pair<string, long>("HttpPutResponseHopLimit", *request->httpPutResponseHopLimit));
  }
  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<RunInstancesRequestImageOptions>(request->imageOptions)) {
    query->insert(pair<string, RunInstancesRequestImageOptions>("ImageOptions", *request->imageOptions));
  }
  if (!Darabonba_Util::Client::isUnset<vector<RunInstancesRequestInstance>>(request->instance)) {
    query->insert(pair<string, vector<RunInstancesRequestInstance>>("Instance", *request->instance));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->instanceName)) {
    query->insert(pair<string, string>("InstanceName", *request->instanceName));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->instanceType)) {
    query->insert(pair<string, string>("InstanceType", *request->instanceType));
  }
  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<vector<string>>(request->ipv6Address)) {
    query->insert(pair<string, vector<string>>("Ipv6Address", *request->ipv6Address));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->ipv6AddressCount)) {
    query->insert(pair<string, long>("Ipv6AddressCount", *request->ipv6AddressCount));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->isp)) {
    query->insert(pair<string, string>("Isp", *request->isp));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->keyPairName)) {
    query->insert(pair<string, string>("KeyPairName", *request->keyPairName));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->maxAmount)) {
    query->insert(pair<string, long>("MaxAmount", *request->maxAmount));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->minAmount)) {
    query->insert(pair<string, long>("MinAmount", *request->minAmount));
  }
  if (!Darabonba_Util::Client::isUnset<vector<RunInstancesRequestNetworkInterface>>(request->networkInterface)) {
    query->insert(pair<string, vector<RunInstancesRequestNetworkInterface>>("NetworkInterface", *request->networkInterface));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->networkType)) {
    query->insert(pair<string, string>("NetworkType", *request->networkType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->nodeControllerId)) {
    query->insert(pair<string, string>("NodeControllerId", *request->nodeControllerId));
  }
  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->privateIpAddress)) {
    query->insert(pair<string, string>("PrivateIpAddress", *request->privateIpAddress));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->ramRoleName)) {
    query->insert(pair<string, string>("RamRoleName", *request->ramRoleName));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->recycleBinResourceId)) {
    query->insert(pair<string, string>("RecycleBinResourceId", *request->recycleBinResourceId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->regionId)) {
    query->insert(pair<string, string>("RegionId", *request->regionId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->relationOrderId)) {
    query->insert(pair<string, string>("RelationOrderId", *request->relationOrderId));
  }
  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<long>(request->resourceOwnerId)) {
    query->insert(pair<string, long>("ResourceOwnerId", *request->resourceOwnerId));
  }
  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<vector<RunInstancesRequestSecurityGroupRule>>(request->securityGroupRule)) {
    query->insert(pair<string, vector<RunInstancesRequestSecurityGroupRule>>("SecurityGroupRule", *request->securityGroupRule));
  }
  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<double>(request->spotPriceLimit)) {
    query->insert(pair<string, double>("SpotPriceLimit", *request->spotPriceLimit));
  }
  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<RunInstancesRequestTag>>(request->tag)) {
    query->insert(pair<string, vector<RunInstancesRequestTag>>("Tag", *request->tag));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->tenancy)) {
    query->insert(pair<string, string>("Tenancy", *request->tenancy));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->uniqueSuffix)) {
    query->insert(pair<string, bool>("UniqueSuffix", *request->uniqueSuffix));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->userData)) {
    query->insert(pair<string, string>("UserData", *request->userData));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vSwitchId)) {
    query->insert(pair<string, string>("VSwitchId", *request->vSwitchId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->zoneId)) {
    query->insert(pair<string, string>("ZoneId", *request->zoneId));
  }
  if (!Darabonba_Util::Client::isUnset<RunInstancesRequestHibernationOptions>(request->hibernationOptions)) {
    query->insert(pair<string, RunInstancesRequestHibernationOptions>("HibernationOptions", *request->hibernationOptions));
  }
  if (!Darabonba_Util::Client::isUnset<RunInstancesRequestPrivatePoolOptions>(request->privatePoolOptions)) {
    query->insert(pair<string, RunInstancesRequestPrivatePoolOptions>("PrivatePoolOptions", *request->privatePoolOptions));
  }
  if (!Darabonba_Util::Client::isUnset<RunInstancesRequestSchedulerOptions>(request->schedulerOptions)) {
    query->insert(pair<string, RunInstancesRequestSchedulerOptions>("SchedulerOptions", *request->schedulerOptions));
  }
  if (!Darabonba_Util::Client::isUnset<RunInstancesRequestSecurityOptions>(request->securityOptions)) {
    query->insert(pair<string, RunInstancesRequestSecurityOptions>("SecurityOptions", *request->securityOptions));
  }
  if (!Darabonba_Util::Client::isUnset<RunInstancesRequestSystemDisk>(request->systemDisk)) {
    query->insert(pair<string, RunInstancesRequestSystemDisk>("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("RunInstances"))},
    {"version", boost::any(string("2016-03-14"))},
    {"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 RunInstancesResponse(callApi(params, req, runtime));
}