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));
}