CreateClusterResponse Alibabacloud_CS20151215::Client::createClusterWithOptions()

in cs-20151215/src/cs20151215.cpp [492:805]


CreateClusterResponse Alibabacloud_CS20151215::Client::createClusterWithOptions(shared_ptr<CreateClusterRequest> request, shared_ptr<map<string, string>> headers, shared_ptr<Darabonba_Util::RuntimeOptions> runtime) {
  Darabonba_Util::Client::validateModel(request);
  shared_ptr<map<string, boost::any>> body = make_shared<map<string, boost::any>>(map<string, boost::any>());
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->accessControlList)) {
    body->insert(pair<string, vector<string>>("access_control_list", *request->accessControlList));
  }
  if (!Darabonba_Util::Client::isUnset<vector<Addon>>(request->addons)) {
    body->insert(pair<string, vector<Addon>>("addons", *request->addons));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->apiAudiences)) {
    body->insert(pair<string, string>("api_audiences", *request->apiAudiences));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->autoRenew)) {
    body->insert(pair<string, bool>("auto_renew", *request->autoRenew));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->autoRenewPeriod)) {
    body->insert(pair<string, long>("auto_renew_period", *request->autoRenewPeriod));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->chargeType)) {
    body->insert(pair<string, string>("charge_type", *request->chargeType));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->cisEnabled)) {
    body->insert(pair<string, bool>("cis_enabled", *request->cisEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->cloudMonitorFlags)) {
    body->insert(pair<string, bool>("cloud_monitor_flags", *request->cloudMonitorFlags));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterDomain)) {
    body->insert(pair<string, string>("cluster_domain", *request->clusterDomain));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterSpec)) {
    body->insert(pair<string, string>("cluster_spec", *request->clusterSpec));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->clusterType)) {
    body->insert(pair<string, string>("cluster_type", *request->clusterType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->containerCidr)) {
    body->insert(pair<string, string>("container_cidr", *request->containerCidr));
  }
  if (!Darabonba_Util::Client::isUnset<CreateClusterRequestControlPlaneConfig>(request->controlPlaneConfig)) {
    body->insert(pair<string, CreateClusterRequestControlPlaneConfig>("control_plane_config", *request->controlPlaneConfig));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->controlplaneLogComponents)) {
    body->insert(pair<string, vector<string>>("controlplane_log_components", *request->controlplaneLogComponents));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->controlplaneLogProject)) {
    body->insert(pair<string, string>("controlplane_log_project", *request->controlplaneLogProject));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->controlplaneLogTtl)) {
    body->insert(pair<string, string>("controlplane_log_ttl", *request->controlplaneLogTtl));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->cpuPolicy)) {
    body->insert(pair<string, string>("cpu_policy", *request->cpuPolicy));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->customSan)) {
    body->insert(pair<string, string>("custom_san", *request->customSan));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->deletionProtection)) {
    body->insert(pair<string, bool>("deletion_protection", *request->deletionProtection));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->disableRollback)) {
    body->insert(pair<string, bool>("disable_rollback", *request->disableRollback));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->enableRrsa)) {
    body->insert(pair<string, bool>("enable_rrsa", *request->enableRrsa));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->encryptionProviderKey)) {
    body->insert(pair<string, string>("encryption_provider_key", *request->encryptionProviderKey));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->endpointPublicAccess)) {
    body->insert(pair<string, bool>("endpoint_public_access", *request->endpointPublicAccess));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->formatDisk)) {
    body->insert(pair<string, bool>("format_disk", *request->formatDisk));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->imageId)) {
    body->insert(pair<string, string>("image_id", *request->imageId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->imageType)) {
    body->insert(pair<string, string>("image_type", *request->imageType));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->instances)) {
    body->insert(pair<string, vector<string>>("instances", *request->instances));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->ipStack)) {
    body->insert(pair<string, string>("ip_stack", *request->ipStack));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->isEnterpriseSecurityGroup)) {
    body->insert(pair<string, bool>("is_enterprise_security_group", *request->isEnterpriseSecurityGroup));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->keepInstanceName)) {
    body->insert(pair<string, bool>("keep_instance_name", *request->keepInstanceName));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->keyPair)) {
    body->insert(pair<string, string>("key_pair", *request->keyPair));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->kubernetesVersion)) {
    body->insert(pair<string, string>("kubernetes_version", *request->kubernetesVersion));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->loadBalancerId)) {
    body->insert(pair<string, string>("load_balancer_id", *request->loadBalancerId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->loadBalancerSpec)) {
    body->insert(pair<string, string>("load_balancer_spec", *request->loadBalancerSpec));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->loggingType)) {
    body->insert(pair<string, string>("logging_type", *request->loggingType));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->loginPassword)) {
    body->insert(pair<string, string>("login_password", *request->loginPassword));
  }
  if (!Darabonba_Util::Client::isUnset<MaintenanceWindow>(request->maintenanceWindow)) {
    body->insert(pair<string, MaintenanceWindow>("maintenance_window", *request->maintenanceWindow));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->masterAutoRenew)) {
    body->insert(pair<string, bool>("master_auto_renew", *request->masterAutoRenew));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->masterAutoRenewPeriod)) {
    body->insert(pair<string, long>("master_auto_renew_period", *request->masterAutoRenewPeriod));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->masterCount)) {
    body->insert(pair<string, long>("master_count", *request->masterCount));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->masterInstanceChargeType)) {
    body->insert(pair<string, string>("master_instance_charge_type", *request->masterInstanceChargeType));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->masterInstanceTypes)) {
    body->insert(pair<string, vector<string>>("master_instance_types", *request->masterInstanceTypes));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->masterPeriod)) {
    body->insert(pair<string, long>("master_period", *request->masterPeriod));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->masterPeriodUnit)) {
    body->insert(pair<string, string>("master_period_unit", *request->masterPeriodUnit));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->masterSystemDiskCategory)) {
    body->insert(pair<string, string>("master_system_disk_category", *request->masterSystemDiskCategory));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->masterSystemDiskPerformanceLevel)) {
    body->insert(pair<string, string>("master_system_disk_performance_level", *request->masterSystemDiskPerformanceLevel));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->masterSystemDiskSize)) {
    body->insert(pair<string, long>("master_system_disk_size", *request->masterSystemDiskSize));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->masterSystemDiskSnapshotPolicyId)) {
    body->insert(pair<string, string>("master_system_disk_snapshot_policy_id", *request->masterSystemDiskSnapshotPolicyId));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->masterVswitchIds)) {
    body->insert(pair<string, vector<string>>("master_vswitch_ids", *request->masterVswitchIds));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->name)) {
    body->insert(pair<string, string>("name", *request->name));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->natGateway)) {
    body->insert(pair<string, bool>("nat_gateway", *request->natGateway));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->nodeCidrMask)) {
    body->insert(pair<string, string>("node_cidr_mask", *request->nodeCidrMask));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->nodeNameMode)) {
    body->insert(pair<string, string>("node_name_mode", *request->nodeNameMode));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->nodePortRange)) {
    body->insert(pair<string, string>("node_port_range", *request->nodePortRange));
  }
  if (!Darabonba_Util::Client::isUnset<vector<Nodepool>>(request->nodepools)) {
    body->insert(pair<string, vector<Nodepool>>("nodepools", *request->nodepools));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->numOfNodes)) {
    body->insert(pair<string, long>("num_of_nodes", *request->numOfNodes));
  }
  if (!Darabonba_Util::Client::isUnset<CreateClusterRequestOperationPolicy>(request->operationPolicy)) {
    body->insert(pair<string, CreateClusterRequestOperationPolicy>("operation_policy", *request->operationPolicy));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->osType)) {
    body->insert(pair<string, string>("os_type", *request->osType));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->period)) {
    body->insert(pair<string, long>("period", *request->period));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->periodUnit)) {
    body->insert(pair<string, string>("period_unit", *request->periodUnit));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->platform)) {
    body->insert(pair<string, string>("platform", *request->platform));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->podVswitchIds)) {
    body->insert(pair<string, vector<string>>("pod_vswitch_ids", *request->podVswitchIds));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->profile)) {
    body->insert(pair<string, string>("profile", *request->profile));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->proxyMode)) {
    body->insert(pair<string, string>("proxy_mode", *request->proxyMode));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->rdsInstances)) {
    body->insert(pair<string, vector<string>>("rds_instances", *request->rdsInstances));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->regionId)) {
    body->insert(pair<string, string>("region_id", *request->regionId));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->resourceGroupId)) {
    body->insert(pair<string, string>("resource_group_id", *request->resourceGroupId));
  }
  if (!Darabonba_Util::Client::isUnset<Runtime>(request->runtime)) {
    body->insert(pair<string, Runtime>("runtime", *request->runtime));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->securityGroupId)) {
    body->insert(pair<string, string>("security_group_id", *request->securityGroupId));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->securityHardeningOs)) {
    body->insert(pair<string, bool>("security_hardening_os", *request->securityHardeningOs));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->serviceAccountIssuer)) {
    body->insert(pair<string, string>("service_account_issuer", *request->serviceAccountIssuer));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->serviceCidr)) {
    body->insert(pair<string, string>("service_cidr", *request->serviceCidr));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->serviceDiscoveryTypes)) {
    body->insert(pair<string, vector<string>>("service_discovery_types", *request->serviceDiscoveryTypes));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->snatEntry)) {
    body->insert(pair<string, bool>("snat_entry", *request->snatEntry));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->socEnabled)) {
    body->insert(pair<string, bool>("soc_enabled", *request->socEnabled));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->sshFlags)) {
    body->insert(pair<string, bool>("ssh_flags", *request->sshFlags));
  }
  if (!Darabonba_Util::Client::isUnset<vector<Tag>>(request->tags)) {
    body->insert(pair<string, vector<Tag>>("tags", *request->tags));
  }
  if (!Darabonba_Util::Client::isUnset<vector<Taint>>(request->taints)) {
    body->insert(pair<string, vector<Taint>>("taints", *request->taints));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->timeoutMins)) {
    body->insert(pair<string, long>("timeout_mins", *request->timeoutMins));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->timezone)) {
    body->insert(pair<string, string>("timezone", *request->timezone));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->userCa)) {
    body->insert(pair<string, string>("user_ca", *request->userCa));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->userData)) {
    body->insert(pair<string, string>("user_data", *request->userData));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->vpcid)) {
    body->insert(pair<string, string>("vpcid", *request->vpcid));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->vswitchIds)) {
    body->insert(pair<string, vector<string>>("vswitch_ids", *request->vswitchIds));
  }
  if (!Darabonba_Util::Client::isUnset<bool>(request->workerAutoRenew)) {
    body->insert(pair<string, bool>("worker_auto_renew", *request->workerAutoRenew));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->workerAutoRenewPeriod)) {
    body->insert(pair<string, long>("worker_auto_renew_period", *request->workerAutoRenewPeriod));
  }
  if (!Darabonba_Util::Client::isUnset<vector<CreateClusterRequestWorkerDataDisks>>(request->workerDataDisks)) {
    body->insert(pair<string, vector<CreateClusterRequestWorkerDataDisks>>("worker_data_disks", *request->workerDataDisks));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->workerInstanceChargeType)) {
    body->insert(pair<string, string>("worker_instance_charge_type", *request->workerInstanceChargeType));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->workerInstanceTypes)) {
    body->insert(pair<string, vector<string>>("worker_instance_types", *request->workerInstanceTypes));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->workerPeriod)) {
    body->insert(pair<string, long>("worker_period", *request->workerPeriod));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->workerPeriodUnit)) {
    body->insert(pair<string, string>("worker_period_unit", *request->workerPeriodUnit));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->workerSystemDiskCategory)) {
    body->insert(pair<string, string>("worker_system_disk_category", *request->workerSystemDiskCategory));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->workerSystemDiskPerformanceLevel)) {
    body->insert(pair<string, string>("worker_system_disk_performance_level", *request->workerSystemDiskPerformanceLevel));
  }
  if (!Darabonba_Util::Client::isUnset<long>(request->workerSystemDiskSize)) {
    body->insert(pair<string, long>("worker_system_disk_size", *request->workerSystemDiskSize));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->workerSystemDiskSnapshotPolicyId)) {
    body->insert(pair<string, string>("worker_system_disk_snapshot_policy_id", *request->workerSystemDiskSnapshotPolicyId));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->workerVswitchIds)) {
    body->insert(pair<string, vector<string>>("worker_vswitch_ids", *request->workerVswitchIds));
  }
  if (!Darabonba_Util::Client::isUnset<string>(request->zoneId)) {
    body->insert(pair<string, string>("zone_id", *request->zoneId));
  }
  if (!Darabonba_Util::Client::isUnset<vector<string>>(request->zoneIds)) {
    body->insert(pair<string, vector<string>>("zone_ids", *request->zoneIds));
  }
  shared_ptr<Alibabacloud_OpenApi::OpenApiRequest> req = make_shared<Alibabacloud_OpenApi::OpenApiRequest>(map<string, boost::any>({
    {"headers", !headers ? boost::any() : boost::any(*headers)},
    {"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("CreateCluster"))},
    {"version", boost::any(string("2015-12-15"))},
    {"protocol", boost::any(string("HTTPS"))},
    {"pathname", boost::any(string("/clusters"))},
    {"method", boost::any(string("POST"))},
    {"authType", boost::any(string("AK"))},
    {"style", boost::any(string("ROA"))},
    {"reqBodyType", boost::any(string("json"))},
    {"bodyType", boost::any(string("json"))}
  }));
  return CreateClusterResponse(callApi(params, req, runtime));
}