CreateClusterV2Response Alibabacloud_Ddi20200617::Client::createClusterV2WithOptions()

in ddi-20200617/src/ddi_20200617.cpp [95:254]


CreateClusterV2Response Alibabacloud_Ddi20200617::Client::createClusterV2WithOptions(shared_ptr<CreateClusterV2Request> 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->authorizeContent)) {
    query->insert(pair<string, string>("AuthorizeContent", *request->authorizeContent));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->auto_)) {
    query->insert(pair<string, bool>("Auto_", *request->auto_));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->autoPayOrder)) {
    query->insert(pair<string, bool>("AutoPayOrder", *request->autoPayOrder));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestBootstrapAction>>(request->bootstrapAction)) {
    query->insert(pair<string, vector<CreateClusterV2RequestBootstrapAction>>("BootstrapAction", *request->bootstrapAction));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->chargeType)) {
    query->insert(pair<string, string>("ChargeType", *request->chargeType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clickHouseConf)) {
    query->insert(pair<string, string>("ClickHouseConf", *request->clickHouseConf));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clientToken)) {
    query->insert(pair<string, string>("ClientToken", *request->clientToken));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterType)) {
    query->insert(pair<string, string>("ClusterType", *request->clusterType));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestConfig>>(request->config)) {
    query->insert(pair<string, vector<CreateClusterV2RequestConfig>>("Config", *request->config));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->configurations)) {
    query->insert(pair<string, string>("Configurations", *request->configurations));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->depositType)) {
    query->insert(pair<string, string>("DepositType", *request->depositType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->emrVer)) {
    query->insert(pair<string, string>("EmrVer", *request->emrVer));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableEas)) {
    query->insert(pair<string, bool>("EnableEas", *request->enableEas));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableHighAvailability)) {
    query->insert(pair<string, bool>("EnableHighAvailability", *request->enableHighAvailability));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableSsh)) {
    query->insert(pair<string, bool>("EnableSsh", *request->enableSsh));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->extraAttributes)) {
    query->insert(pair<string, string>("ExtraAttributes", *request->extraAttributes));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestHostComponentInfo>>(request->hostComponentInfo)) {
    query->insert(pair<string, vector<CreateClusterV2RequestHostComponentInfo>>("HostComponentInfo", *request->hostComponentInfo));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestHostGroup>>(request->hostGroup)) {
    query->insert(pair<string, vector<CreateClusterV2RequestHostGroup>>("HostGroup", *request->hostGroup));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->initCustomHiveMetaDB)) {
    query->insert(pair<string, bool>("InitCustomHiveMetaDB", *request->initCustomHiveMetaDB));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->instanceGeneration)) {
    query->insert(pair<string, string>("InstanceGeneration", *request->instanceGeneration));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->isOpenPublicIp)) {
    query->insert(pair<string, bool>("IsOpenPublicIp", *request->isOpenPublicIp));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->keyPairName)) {
    query->insert(pair<string, string>("KeyPairName", *request->keyPairName));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->logPath)) {
    query->insert(pair<string, string>("LogPath", *request->logPath));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->machineType)) {
    query->insert(pair<string, string>("MachineType", *request->machineType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->masterPwd)) {
    query->insert(pair<string, string>("MasterPwd", *request->masterPwd));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->metaStoreConf)) {
    query->insert(pair<string, string>("MetaStoreConf", *request->metaStoreConf));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->metaStoreType)) {
    query->insert(pair<string, string>("MetaStoreType", *request->metaStoreType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->name)) {
    query->insert(pair<string, string>("Name", *request->name));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->netType)) {
    query->insert(pair<string, string>("NetType", *request->netType));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->period)) {
    query->insert(pair<string, long>("Period", *request->period));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestPromotionInfo>>(request->promotionInfo)) {
    query->insert(pair<string, vector<CreateClusterV2RequestPromotionInfo>>("PromotionInfo", *request->promotionInfo));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->regionId)) {
    query->insert(pair<string, string>("RegionId", *request->regionId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->relatedClusterId)) {
    query->insert(pair<string, string>("RelatedClusterId", *request->relatedClusterId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->resourceGroupId)) {
    query->insert(pair<string, string>("ResourceGroupId", *request->resourceGroupId));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->resourceOwnerId)) {
    query->insert(pair<string, long>("ResourceOwnerId", *request->resourceOwnerId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->securityGroupId)) {
    query->insert(pair<string, string>("SecurityGroupId", *request->securityGroupId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->securityGroupName)) {
    query->insert(pair<string, string>("SecurityGroupName", *request->securityGroupName));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestServiceInfo>>(request->serviceInfo)) {
    query->insert(pair<string, vector<CreateClusterV2RequestServiceInfo>>("ServiceInfo", *request->serviceInfo));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestTag>>(request->tag)) {
    query->insert(pair<string, vector<CreateClusterV2RequestTag>>("Tag", *request->tag));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->useCustomHiveMetaDB)) {
    query->insert(pair<string, bool>("UseCustomHiveMetaDB", *request->useCustomHiveMetaDB));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->useLocalMetaDb)) {
    query->insert(pair<string, bool>("UseLocalMetaDb", *request->useLocalMetaDb));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->userDefinedEmrEcsRole)) {
    query->insert(pair<string, string>("UserDefinedEmrEcsRole", *request->userDefinedEmrEcsRole));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterV2RequestUserInfo>>(request->userInfo)) {
    query->insert(pair<string, vector<CreateClusterV2RequestUserInfo>>("UserInfo", *request->userInfo));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vSwitchId)) {
    query->insert(pair<string, string>("VSwitchId", *request->vSwitchId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vpcId)) {
    query->insert(pair<string, string>("VpcId", *request->vpcId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->whiteListType)) {
    query->insert(pair<string, string>("WhiteListType", *request->whiteListType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->zoneId)) {
    query->insert(pair<string, string>("ZoneId", *request->zoneId));
  }
  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("CreateClusterV2"))},
    {"version", boost::any(string("2020-06-17"))},
    {"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 CreateClusterV2Response(callApi(params, req, runtime));
}