in ess-20220222/src/ess_20220222.cpp [1189:1348]
CreateScalingGroupResponse Alibabacloud_Ess20220222::Client::createScalingGroupWithOptions(shared_ptr<CreateScalingGroupRequest> 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<CreateScalingGroupRequestAlbServerGroups>>(request->albServerGroups)) {
query->insert(pair<string, vector<CreateScalingGroupRequestAlbServerGroups>>("AlbServerGroups", *request->albServerGroups));
}
if (!Darabonba_Util::Client::isUnset<string>(request->allocationStrategy)) {
query->insert(pair<string, string>("AllocationStrategy", *request->allocationStrategy));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->azBalance)) {
query->insert(pair<string, bool>("AzBalance", *request->azBalance));
}
if (!Darabonba_Util::Client::isUnset<CreateScalingGroupRequestCapacityOptions>(request->capacityOptions)) {
query->insert(pair<string, CreateScalingGroupRequestCapacityOptions>("CapacityOptions", *request->capacityOptions));
}
if (!Darabonba_Util::Client::isUnset<string>(request->clientToken)) {
query->insert(pair<string, string>("ClientToken", *request->clientToken));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->compensateWithOnDemand)) {
query->insert(pair<string, bool>("CompensateWithOnDemand", *request->compensateWithOnDemand));
}
if (!Darabonba_Util::Client::isUnset<string>(request->containerGroupId)) {
query->insert(pair<string, string>("ContainerGroupId", *request->containerGroupId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->customPolicyARN)) {
query->insert(pair<string, string>("CustomPolicyARN", *request->customPolicyARN));
}
if (!Darabonba_Util::Client::isUnset<string>(request->DBInstanceIds)) {
query->insert(pair<string, string>("DBInstanceIds", *request->DBInstanceIds));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestDBInstances>>(request->DBInstances)) {
query->insert(pair<string, vector<CreateScalingGroupRequestDBInstances>>("DBInstances", *request->DBInstances));
}
if (!Darabonba_Util::Client::isUnset<long>(request->defaultCooldown)) {
query->insert(pair<string, long>("DefaultCooldown", *request->defaultCooldown));
}
if (!Darabonba_Util::Client::isUnset<long>(request->desiredCapacity)) {
query->insert(pair<string, long>("DesiredCapacity", *request->desiredCapacity));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->groupDeletionProtection)) {
query->insert(pair<string, bool>("GroupDeletionProtection", *request->groupDeletionProtection));
}
if (!Darabonba_Util::Client::isUnset<string>(request->groupType)) {
query->insert(pair<string, string>("GroupType", *request->groupType));
}
if (!Darabonba_Util::Client::isUnset<string>(request->healthCheckType)) {
query->insert(pair<string, string>("HealthCheckType", *request->healthCheckType));
}
if (!Darabonba_Util::Client::isUnset<vector<string>>(request->healthCheckTypes)) {
query->insert(pair<string, vector<string>>("HealthCheckTypes", *request->healthCheckTypes));
}
if (!Darabonba_Util::Client::isUnset<string>(request->instanceId)) {
query->insert(pair<string, string>("InstanceId", *request->instanceId));
}
if (!Darabonba_Util::Client::isUnset<string>(request->launchTemplateId)) {
query->insert(pair<string, string>("LaunchTemplateId", *request->launchTemplateId));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestLaunchTemplateOverrides>>(request->launchTemplateOverrides)) {
query->insert(pair<string, vector<CreateScalingGroupRequestLaunchTemplateOverrides>>("LaunchTemplateOverrides", *request->launchTemplateOverrides));
}
if (!Darabonba_Util::Client::isUnset<string>(request->launchTemplateVersion)) {
query->insert(pair<string, string>("LaunchTemplateVersion", *request->launchTemplateVersion));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestLifecycleHooks>>(request->lifecycleHooks)) {
query->insert(pair<string, vector<CreateScalingGroupRequestLifecycleHooks>>("LifecycleHooks", *request->lifecycleHooks));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestLoadBalancerConfigs>>(request->loadBalancerConfigs)) {
query->insert(pair<string, vector<CreateScalingGroupRequestLoadBalancerConfigs>>("LoadBalancerConfigs", *request->loadBalancerConfigs));
}
if (!Darabonba_Util::Client::isUnset<string>(request->loadBalancerIds)) {
query->insert(pair<string, string>("LoadBalancerIds", *request->loadBalancerIds));
}
if (!Darabonba_Util::Client::isUnset<long>(request->maxInstanceLifetime)) {
query->insert(pair<string, long>("MaxInstanceLifetime", *request->maxInstanceLifetime));
}
if (!Darabonba_Util::Client::isUnset<long>(request->maxSize)) {
query->insert(pair<string, long>("MaxSize", *request->maxSize));
}
if (!Darabonba_Util::Client::isUnset<long>(request->minSize)) {
query->insert(pair<string, long>("MinSize", *request->minSize));
}
if (!Darabonba_Util::Client::isUnset<string>(request->multiAZPolicy)) {
query->insert(pair<string, string>("MultiAZPolicy", *request->multiAZPolicy));
}
if (!Darabonba_Util::Client::isUnset<long>(request->onDemandBaseCapacity)) {
query->insert(pair<string, long>("OnDemandBaseCapacity", *request->onDemandBaseCapacity));
}
if (!Darabonba_Util::Client::isUnset<long>(request->onDemandPercentageAboveBaseCapacity)) {
query->insert(pair<string, long>("OnDemandPercentageAboveBaseCapacity", *request->onDemandPercentageAboveBaseCapacity));
}
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->regionId)) {
query->insert(pair<string, string>("RegionId", *request->regionId));
}
if (!Darabonba_Util::Client::isUnset<vector<string>>(request->removalPolicies)) {
query->insert(pair<string, vector<string>>("RemovalPolicies", *request->removalPolicies));
}
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<string>(request->scalingGroupName)) {
query->insert(pair<string, string>("ScalingGroupName", *request->scalingGroupName));
}
if (!Darabonba_Util::Client::isUnset<string>(request->scalingPolicy)) {
query->insert(pair<string, string>("ScalingPolicy", *request->scalingPolicy));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestServerGroups>>(request->serverGroups)) {
query->insert(pair<string, vector<CreateScalingGroupRequestServerGroups>>("ServerGroups", *request->serverGroups));
}
if (!Darabonba_Util::Client::isUnset<string>(request->spotAllocationStrategy)) {
query->insert(pair<string, string>("SpotAllocationStrategy", *request->spotAllocationStrategy));
}
if (!Darabonba_Util::Client::isUnset<long>(request->spotInstancePools)) {
query->insert(pair<string, long>("SpotInstancePools", *request->spotInstancePools));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->spotInstanceRemedy)) {
query->insert(pair<string, bool>("SpotInstanceRemedy", *request->spotInstanceRemedy));
}
if (!Darabonba_Util::Client::isUnset<long>(request->stopInstanceTimeout)) {
query->insert(pair<string, long>("StopInstanceTimeout", *request->stopInstanceTimeout));
}
if (!Darabonba_Util::Client::isUnset<bool>(request->syncAlarmRuleToCms)) {
query->insert(pair<string, bool>("SyncAlarmRuleToCms", *request->syncAlarmRuleToCms));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestTags>>(request->tags)) {
query->insert(pair<string, vector<CreateScalingGroupRequestTags>>("Tags", *request->tags));
}
if (!Darabonba_Util::Client::isUnset<vector<CreateScalingGroupRequestVServerGroups>>(request->VServerGroups)) {
query->insert(pair<string, vector<CreateScalingGroupRequestVServerGroups>>("VServerGroups", *request->VServerGroups));
}
if (!Darabonba_Util::Client::isUnset<string>(request->vSwitchId)) {
query->insert(pair<string, string>("VSwitchId", *request->vSwitchId));
}
if (!Darabonba_Util::Client::isUnset<vector<string>>(request->vSwitchIds)) {
query->insert(pair<string, vector<string>>("VSwitchIds", *request->vSwitchIds));
}
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("CreateScalingGroup"))},
{"version", boost::any(string("2022-02-22"))},
{"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 CreateScalingGroupResponse(callApi(params, req, runtime));
}