CreateContainerGroupResponse Alibabacloud_Eci20180808::Client::createContainerGroupWithOptions()

in eci-20180808/src/eci_20180808.cpp [168:402]


CreateContainerGroupResponse Alibabacloud_Eci20180808::Client::createContainerGroupWithOptions(shared_ptr<CreateContainerGroupRequest> 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<vector<CreateContainerGroupRequestAcrRegistryInfo>>(request->acrRegistryInfo)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestAcrRegistryInfo>>("AcrRegistryInfo", *request->acrRegistryInfo));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->activeDeadlineSeconds)) {
    query->insert(pair<string, long>("ActiveDeadlineSeconds", *request->activeDeadlineSeconds));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->autoCreateEip)) {
    query->insert(pair<string, bool>("AutoCreateEip", *request->autoCreateEip));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->autoMatchImageCache)) {
    query->insert(pair<string, bool>("AutoMatchImageCache", *request->autoMatchImageCache));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clientToken)) {
    query->insert(pair<string, string>("ClientToken", *request->clientToken));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->computeCategory)) {
    query->insert(pair<string, vector<string>>("ComputeCategory", *request->computeCategory));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateContainerGroupRequestContainer>>(request->container)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestContainer>>("Container", *request->container));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->containerGroupName)) {
    query->insert(pair<string, string>("ContainerGroupName", *request->containerGroupName));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->containerResourceView)) {
    query->insert(pair<string, bool>("ContainerResourceView", *request->containerResourceView));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->corePattern)) {
    query->insert(pair<string, string>("CorePattern", *request->corePattern));
  }
  if (!Darabonba_Util::Client::isUnset<double>(request->cpu)) {
    query->insert(pair<string, double>("Cpu", *request->cpu));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->cpuArchitecture)) {
    query->insert(pair<string, string>("CpuArchitecture", *request->cpuArchitecture));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->cpuOptionsCore)) {
    query->insert(pair<string, long>("CpuOptionsCore", *request->cpuOptionsCore));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->cpuOptionsNuma)) {
    query->insert(pair<string, string>("CpuOptionsNuma", *request->cpuOptionsNuma));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->cpuOptionsThreadsPerCore)) {
    query->insert(pair<string, long>("CpuOptionsThreadsPerCore", *request->cpuOptionsThreadsPerCore));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->dataCacheBucket)) {
    query->insert(pair<string, string>("DataCacheBucket", *request->dataCacheBucket));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->dataCacheBurstingEnabled)) {
    query->insert(pair<string, bool>("DataCacheBurstingEnabled", *request->dataCacheBurstingEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->dataCachePL)) {
    query->insert(pair<string, string>("DataCachePL", *request->dataCachePL));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->dataCacheProvisionedIops)) {
    query->insert(pair<string, long>("DataCacheProvisionedIops", *request->dataCacheProvisionedIops));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->dnsPolicy)) {
    query->insert(pair<string, string>("DnsPolicy", *request->dnsPolicy));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->dryRun)) {
    query->insert(pair<string, bool>("DryRun", *request->dryRun));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->egressBandwidth)) {
    query->insert(pair<string, long>("EgressBandwidth", *request->egressBandwidth));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->eipBandwidth)) {
    query->insert(pair<string, long>("EipBandwidth", *request->eipBandwidth));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->eipCommonBandwidthPackage)) {
    query->insert(pair<string, string>("EipCommonBandwidthPackage", *request->eipCommonBandwidthPackage));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->eipISP)) {
    query->insert(pair<string, string>("EipISP", *request->eipISP));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->eipInstanceId)) {
    query->insert(pair<string, string>("EipInstanceId", *request->eipInstanceId));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->ephemeralStorage)) {
    query->insert(pair<string, long>("EphemeralStorage", *request->ephemeralStorage));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->fixedIp)) {
    query->insert(pair<string, string>("FixedIp", *request->fixedIp));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->fixedIpRetainHour)) {
    query->insert(pair<string, long>("FixedIpRetainHour", *request->fixedIpRetainHour));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->gpuDriverVersion)) {
    query->insert(pair<string, string>("GpuDriverVersion", *request->gpuDriverVersion));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateContainerGroupRequestHostAliase>>(request->hostAliase)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestHostAliase>>("HostAliase", *request->hostAliase));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->hostName)) {
    query->insert(pair<string, string>("HostName", *request->hostName));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->imageAccelerateMode)) {
    query->insert(pair<string, string>("ImageAccelerateMode", *request->imageAccelerateMode));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateContainerGroupRequestImageRegistryCredential>>(request->imageRegistryCredential)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestImageRegistryCredential>>("ImageRegistryCredential", *request->imageRegistryCredential));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->imageSnapshotId)) {
    query->insert(pair<string, string>("ImageSnapshotId", *request->imageSnapshotId));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->ingressBandwidth)) {
    query->insert(pair<string, long>("IngressBandwidth", *request->ingressBandwidth));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateContainerGroupRequestInitContainer>>(request->initContainer)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestInitContainer>>("InitContainer", *request->initContainer));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->insecureRegistry)) {
    query->insert(pair<string, string>("InsecureRegistry", *request->insecureRegistry));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->instanceType)) {
    query->insert(pair<string, string>("InstanceType", *request->instanceType));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->ipv6AddressCount)) {
    query->insert(pair<string, long>("Ipv6AddressCount", *request->ipv6AddressCount));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->ipv6GatewayBandwidth)) {
    query->insert(pair<string, string>("Ipv6GatewayBandwidth", *request->ipv6GatewayBandwidth));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->ipv6GatewayBandwidthEnable)) {
    query->insert(pair<string, bool>("Ipv6GatewayBandwidthEnable", *request->ipv6GatewayBandwidthEnable));
  }
  if (!Darabonba_Util::Client::isUnset<double>(request->memory)) {
    query->insert(pair<string, double>("Memory", *request->memory));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->ntpServer)) {
    query->insert(pair<string, vector<string>>("NtpServer", *request->ntpServer));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->osType)) {
    query->insert(pair<string, string>("OsType", *request->osType));
  }
  if (!Darabonba_Util::Client::isUnset<CreateContainerGroupRequestOverheadReservationOption>(request->overheadReservationOption)) {
    query->insert(pair<string, CreateContainerGroupRequestOverheadReservationOption>("OverheadReservationOption", *request->overheadReservationOption));
  }
  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->plainHttpRegistry)) {
    query->insert(pair<string, string>("PlainHttpRegistry", *request->plainHttpRegistry));
  }
  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->regionId)) {
    query->insert(pair<string, string>("RegionId", *request->regionId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->regionId)) {
    query->insert(pair<string, string>("RegionId", *request->regionId));
  }
  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->restartPolicy)) {
    query->insert(pair<string, string>("RestartPolicy", *request->restartPolicy));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->scheduleStrategy)) {
    query->insert(pair<string, string>("ScheduleStrategy", *request->scheduleStrategy));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->securityGroupId)) {
    query->insert(pair<string, string>("SecurityGroupId", *request->securityGroupId));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->shareProcessNamespace)) {
    query->insert(pair<string, bool>("ShareProcessNamespace", *request->shareProcessNamespace));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->spotDuration)) {
    query->insert(pair<string, long>("SpotDuration", *request->spotDuration));
  }
  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<bool>(request->strictSpot)) {
    query->insert(pair<string, bool>("StrictSpot", *request->strictSpot));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateContainerGroupRequestTag>>(request->tag)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestTag>>("Tag", *request->tag));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->terminationGracePeriodSeconds)) {
    query->insert(pair<string, long>("TerminationGracePeriodSeconds", *request->terminationGracePeriodSeconds));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vSwitchId)) {
    query->insert(pair<string, string>("VSwitchId", *request->vSwitchId));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateContainerGroupRequestVolume>>(request->volume)) {
    query->insert(pair<string, vector<CreateContainerGroupRequestVolume>>("Volume", *request->volume));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->zoneId)) {
    query->insert(pair<string, string>("ZoneId", *request->zoneId));
  }
  if (!Darabonba_Util::Client::isUnset<CreateContainerGroupRequestDnsConfig>(request->dnsConfig)) {
    query->insert(pair<string, CreateContainerGroupRequestDnsConfig>("DnsConfig", *request->dnsConfig));
  }
  if (!Darabonba_Util::Client::isUnset<CreateContainerGroupRequestHostSecurityContext>(request->hostSecurityContext)) {
    query->insert(pair<string, CreateContainerGroupRequestHostSecurityContext>("HostSecurityContext", *request->hostSecurityContext));
  }
  if (!Darabonba_Util::Client::isUnset<CreateContainerGroupRequestSecurityContext>(request->securityContext)) {
    query->insert(pair<string, CreateContainerGroupRequestSecurityContext>("SecurityContext", *request->securityContext));
  }
  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("CreateContainerGroup"))},
    {"version", boost::any(string("2018-08-08"))},
    {"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 CreateContainerGroupResponse(callApi(params, req, runtime));
}