CreateServiceMeshResponse Alibabacloud_Servicemesh20200111::Client::createServiceMeshWithOptions()

in servicemesh-20200111/src/servicemesh_20200111.cpp [284:529]


CreateServiceMeshResponse Alibabacloud_Servicemesh20200111::Client::createServiceMeshWithOptions(shared_ptr<CreateServiceMeshRequest> 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<CreateServiceMeshRequestTag>>(request->tag)) {
    query->insert(pair<string, vector<CreateServiceMeshRequestTag>>("Tag", *request->tag));
  }
  shared_ptr<map<string, boost::any>> body = make_shared<map<string, boost::any>>(map<string, boost::any>());
  if (!Darabonba_Util::Client::isUnset<bool>(request->accessLogEnabled)) {
    body->insert(pair<string, bool>("AccessLogEnabled", *request->accessLogEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->accessLogFile)) {
    body->insert(pair<string, string>("AccessLogFile", *request->accessLogFile));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->accessLogFormat)) {
    body->insert(pair<string, string>("AccessLogFormat", *request->accessLogFormat));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->accessLogProject)) {
    body->insert(pair<string, string>("AccessLogProject", *request->accessLogProject));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->accessLogServiceEnabled)) {
    body->insert(pair<string, bool>("AccessLogServiceEnabled", *request->accessLogServiceEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->accessLogServiceHost)) {
    body->insert(pair<string, string>("AccessLogServiceHost", *request->accessLogServiceHost));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->accessLogServicePort)) {
    body->insert(pair<string, long>("AccessLogServicePort", *request->accessLogServicePort));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->apiServerLoadBalancerSpec)) {
    body->insert(pair<string, string>("ApiServerLoadBalancerSpec", *request->apiServerLoadBalancerSpec));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->apiServerPublicEip)) {
    body->insert(pair<string, bool>("ApiServerPublicEip", *request->apiServerPublicEip));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->auditProject)) {
    body->insert(pair<string, string>("AuditProject", *request->auditProject));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->autoRenew)) {
    body->insert(pair<string, bool>("AutoRenew", *request->autoRenew));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->autoRenewPeriod)) {
    body->insert(pair<string, long>("AutoRenewPeriod", *request->autoRenewPeriod));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->CRAggregationEnabled)) {
    body->insert(pair<string, bool>("CRAggregationEnabled", *request->CRAggregationEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->chargeType)) {
    body->insert(pair<string, string>("ChargeType", *request->chargeType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterDomain)) {
    body->insert(pair<string, string>("ClusterDomain", *request->clusterDomain));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterSpec)) {
    body->insert(pair<string, string>("ClusterSpec", *request->clusterSpec));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->configSourceEnabled)) {
    body->insert(pair<string, bool>("ConfigSourceEnabled", *request->configSourceEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->configSourceNacosID)) {
    body->insert(pair<string, string>("ConfigSourceNacosID", *request->configSourceNacosID));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->controlPlaneLogEnabled)) {
    body->insert(pair<string, bool>("ControlPlaneLogEnabled", *request->controlPlaneLogEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->controlPlaneLogProject)) {
    body->insert(pair<string, string>("ControlPlaneLogProject", *request->controlPlaneLogProject));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->customizedPrometheus)) {
    body->insert(pair<string, bool>("CustomizedPrometheus", *request->customizedPrometheus));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->customizedZipkin)) {
    body->insert(pair<string, bool>("CustomizedZipkin", *request->customizedZipkin));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->DNSProxyingEnabled)) {
    body->insert(pair<string, bool>("DNSProxyingEnabled", *request->DNSProxyingEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->dubboFilterEnabled)) {
    body->insert(pair<string, bool>("DubboFilterEnabled", *request->dubboFilterEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->edition)) {
    body->insert(pair<string, string>("Edition", *request->edition));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableAmbient)) {
    body->insert(pair<string, bool>("EnableAmbient", *request->enableAmbient));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableAudit)) {
    body->insert(pair<string, bool>("EnableAudit", *request->enableAudit));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableCRHistory)) {
    body->insert(pair<string, bool>("EnableCRHistory", *request->enableCRHistory));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableSDSServer)) {
    body->insert(pair<string, bool>("EnableSDSServer", *request->enableSDSServer));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->excludeIPRanges)) {
    body->insert(pair<string, string>("ExcludeIPRanges", *request->excludeIPRanges));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->excludeInboundPorts)) {
    body->insert(pair<string, string>("ExcludeInboundPorts", *request->excludeInboundPorts));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->excludeOutboundPorts)) {
    body->insert(pair<string, string>("ExcludeOutboundPorts", *request->excludeOutboundPorts));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->existingCaCert)) {
    body->insert(pair<string, string>("ExistingCaCert", *request->existingCaCert));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->existingCaKey)) {
    body->insert(pair<string, string>("ExistingCaKey", *request->existingCaKey));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->existingCaType)) {
    body->insert(pair<string, string>("ExistingCaType", *request->existingCaType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->existingRootCaCert)) {
    body->insert(pair<string, string>("ExistingRootCaCert", *request->existingRootCaCert));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->existingRootCaKey)) {
    body->insert(pair<string, string>("ExistingRootCaKey", *request->existingRootCaKey));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->filterGatewayClusterConfig)) {
    body->insert(pair<string, bool>("FilterGatewayClusterConfig", *request->filterGatewayClusterConfig));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->gatewayAPIEnabled)) {
    body->insert(pair<string, bool>("GatewayAPIEnabled", *request->gatewayAPIEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->guestCluster)) {
    body->insert(pair<string, string>("GuestCluster", *request->guestCluster));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->includeIPRanges)) {
    body->insert(pair<string, string>("IncludeIPRanges", *request->includeIPRanges));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->istioVersion)) {
    body->insert(pair<string, string>("IstioVersion", *request->istioVersion));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->kialiEnabled)) {
    body->insert(pair<string, bool>("KialiEnabled", *request->kialiEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->localityLBConf)) {
    body->insert(pair<string, string>("LocalityLBConf", *request->localityLBConf));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->localityLoadBalancing)) {
    body->insert(pair<string, bool>("LocalityLoadBalancing", *request->localityLoadBalancing));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->MSEEnabled)) {
    body->insert(pair<string, bool>("MSEEnabled", *request->MSEEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->multiBufferEnabled)) {
    body->insert(pair<string, bool>("MultiBufferEnabled", *request->multiBufferEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->multiBufferPollDelay)) {
    body->insert(pair<string, string>("MultiBufferPollDelay", *request->multiBufferPollDelay));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->mysqlFilterEnabled)) {
    body->insert(pair<string, bool>("MysqlFilterEnabled", *request->mysqlFilterEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->name)) {
    body->insert(pair<string, string>("Name", *request->name));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->OPALimitCPU)) {
    body->insert(pair<string, string>("OPALimitCPU", *request->OPALimitCPU));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->OPALimitMemory)) {
    body->insert(pair<string, string>("OPALimitMemory", *request->OPALimitMemory));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->OPALogLevel)) {
    body->insert(pair<string, string>("OPALogLevel", *request->OPALogLevel));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->OPARequestCPU)) {
    body->insert(pair<string, string>("OPARequestCPU", *request->OPARequestCPU));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->OPARequestMemory)) {
    body->insert(pair<string, string>("OPARequestMemory", *request->OPARequestMemory));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->opaEnabled)) {
    body->insert(pair<string, bool>("OpaEnabled", *request->opaEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->openAgentPolicy)) {
    body->insert(pair<string, bool>("OpenAgentPolicy", *request->openAgentPolicy));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->period)) {
    body->insert(pair<string, long>("Period", *request->period));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->pilotLoadBalancerSpec)) {
    body->insert(pair<string, string>("PilotLoadBalancerSpec", *request->pilotLoadBalancerSpec));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->prometheusUrl)) {
    body->insert(pair<string, string>("PrometheusUrl", *request->prometheusUrl));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->proxyLimitCPU)) {
    body->insert(pair<string, string>("ProxyLimitCPU", *request->proxyLimitCPU));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->proxyLimitMemory)) {
    body->insert(pair<string, string>("ProxyLimitMemory", *request->proxyLimitMemory));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->proxyRequestCPU)) {
    body->insert(pair<string, string>("ProxyRequestCPU", *request->proxyRequestCPU));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->proxyRequestMemory)) {
    body->insert(pair<string, string>("ProxyRequestMemory", *request->proxyRequestMemory));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->redisFilterEnabled)) {
    body->insert(pair<string, bool>("RedisFilterEnabled", *request->redisFilterEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->regionId)) {
    body->insert(pair<string, string>("RegionId", *request->regionId));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->telemetry)) {
    body->insert(pair<string, bool>("Telemetry", *request->telemetry));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->thriftFilterEnabled)) {
    body->insert(pair<string, bool>("ThriftFilterEnabled", *request->thriftFilterEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<double>(request->traceSampling)) {
    body->insert(pair<string, double>("TraceSampling", *request->traceSampling));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->tracing)) {
    body->insert(pair<string, bool>("Tracing", *request->tracing));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->useExistingCA)) {
    body->insert(pair<string, bool>("UseExistingCA", *request->useExistingCA));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vSwitches)) {
    body->insert(pair<string, string>("VSwitches", *request->vSwitches));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vpcId)) {
    body->insert(pair<string, string>("VpcId", *request->vpcId));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->webAssemblyFilterEnabled)) {
    body->insert(pair<string, bool>("WebAssemblyFilterEnabled", *request->webAssemblyFilterEnabled));
  }
  shared_ptr<Alibabacloud_OpenApi::OpenApiRequest> req = make_shared<Alibabacloud_OpenApi::OpenApiRequest>(map<string, boost::any>({
    {"query", boost::any(Alibabacloud_OpenApiUtil::Client::query(query))},
    {"body", boost::any(Alibabacloud_OpenApiUtil::Client::parseToMap(body))}
  }));
  shared_ptr<Alibabacloud_OpenApi::Params> params = make_shared<Alibabacloud_OpenApi::Params>(map<string, boost::any>({
    {"action", boost::any(string("CreateServiceMesh"))},
    {"version", boost::any(string("2020-01-11"))},
    {"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 CreateServiceMeshResponse(callApi(params, req, runtime));
}