void DescribeScalingConfigurationsResult::parse()

in ess/src/model/DescribeScalingConfigurationsResult.cc [36:338]


void DescribeScalingConfigurationsResult::parse(const std::string &payload)
{
	Json::Reader reader;
	Json::Value value;
	reader.parse(payload, value);
	setRequestId(value["RequestId"].asString());
	auto allScalingConfigurationsNode = value["ScalingConfigurations"]["ScalingConfiguration"];
	for (auto valueScalingConfigurationsScalingConfiguration : allScalingConfigurationsNode)
	{
		ScalingConfiguration scalingConfigurationsObject;
		if(!valueScalingConfigurationsScalingConfiguration["DeploymentSetId"].isNull())
			scalingConfigurationsObject.deploymentSetId = valueScalingConfigurationsScalingConfiguration["DeploymentSetId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["CreationTime"].isNull())
			scalingConfigurationsObject.creationTime = valueScalingConfigurationsScalingConfiguration["CreationTime"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ScalingConfigurationName"].isNull())
			scalingConfigurationsObject.scalingConfigurationName = valueScalingConfigurationsScalingConfiguration["ScalingConfigurationName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDiskDescription"].isNull())
			scalingConfigurationsObject.systemDiskDescription = valueScalingConfigurationsScalingConfiguration["SystemDiskDescription"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["KeyPairName"].isNull())
			scalingConfigurationsObject.keyPairName = valueScalingConfigurationsScalingConfiguration["KeyPairName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SecurityGroupId"].isNull())
			scalingConfigurationsObject.securityGroupId = valueScalingConfigurationsScalingConfiguration["SecurityGroupId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["PrivatePoolOptions.Id"].isNull())
			scalingConfigurationsObject.privatePoolOptionsId = valueScalingConfigurationsScalingConfiguration["PrivatePoolOptions.Id"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDiskAutoSnapshotPolicyId"].isNull())
			scalingConfigurationsObject.systemDiskAutoSnapshotPolicyId = valueScalingConfigurationsScalingConfiguration["SystemDiskAutoSnapshotPolicyId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SpotStrategy"].isNull())
			scalingConfigurationsObject.spotStrategy = valueScalingConfigurationsScalingConfiguration["SpotStrategy"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ScalingGroupId"].isNull())
			scalingConfigurationsObject.scalingGroupId = valueScalingConfigurationsScalingConfiguration["ScalingGroupId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["Affinity"].isNull())
			scalingConfigurationsObject.affinity = valueScalingConfigurationsScalingConfiguration["Affinity"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["Tenancy"].isNull())
			scalingConfigurationsObject.tenancy = valueScalingConfigurationsScalingConfiguration["Tenancy"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDiskSize"].isNull())
			scalingConfigurationsObject.systemDiskSize = std::stoi(valueScalingConfigurationsScalingConfiguration["SystemDiskSize"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["Ipv6AddressCount"].isNull())
			scalingConfigurationsObject.ipv6AddressCount = std::stoi(valueScalingConfigurationsScalingConfiguration["Ipv6AddressCount"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["SpotDuration"].isNull())
			scalingConfigurationsObject.spotDuration = std::stoi(valueScalingConfigurationsScalingConfiguration["SpotDuration"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["LifecycleState"].isNull())
			scalingConfigurationsObject.lifecycleState = valueScalingConfigurationsScalingConfiguration["LifecycleState"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["InstanceName"].isNull())
			scalingConfigurationsObject.instanceName = valueScalingConfigurationsScalingConfiguration["InstanceName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SecurityEnhancementStrategy"].isNull())
			scalingConfigurationsObject.securityEnhancementStrategy = valueScalingConfigurationsScalingConfiguration["SecurityEnhancementStrategy"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["UserData"].isNull())
			scalingConfigurationsObject.userData = valueScalingConfigurationsScalingConfiguration["UserData"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["PrivatePoolOptions.MatchCriteria"].isNull())
			scalingConfigurationsObject.privatePoolOptionsMatchCriteria = valueScalingConfigurationsScalingConfiguration["PrivatePoolOptions.MatchCriteria"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["DedicatedHostId"].isNull())
			scalingConfigurationsObject.dedicatedHostId = valueScalingConfigurationsScalingConfiguration["DedicatedHostId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["InstanceGeneration"].isNull())
			scalingConfigurationsObject.instanceGeneration = valueScalingConfigurationsScalingConfiguration["InstanceGeneration"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["HpcClusterId"].isNull())
			scalingConfigurationsObject.hpcClusterId = valueScalingConfigurationsScalingConfiguration["HpcClusterId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["PasswordInherit"].isNull())
			scalingConfigurationsObject.passwordInherit = valueScalingConfigurationsScalingConfiguration["PasswordInherit"].asString() == "true";
		if(!valueScalingConfigurationsScalingConfiguration["Memory"].isNull())
			scalingConfigurationsObject.memory = std::stoi(valueScalingConfigurationsScalingConfiguration["Memory"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["ImageId"].isNull())
			scalingConfigurationsObject.imageId = valueScalingConfigurationsScalingConfiguration["ImageId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ImageFamily"].isNull())
			scalingConfigurationsObject.imageFamily = valueScalingConfigurationsScalingConfiguration["ImageFamily"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ImageOwnerAlias"].isNull())
			scalingConfigurationsObject.imageOwnerAlias = valueScalingConfigurationsScalingConfiguration["ImageOwnerAlias"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["LoadBalancerWeight"].isNull())
			scalingConfigurationsObject.loadBalancerWeight = std::stoi(valueScalingConfigurationsScalingConfiguration["LoadBalancerWeight"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["SystemDiskCategory"].isNull())
			scalingConfigurationsObject.systemDiskCategory = valueScalingConfigurationsScalingConfiguration["SystemDiskCategory"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["HostName"].isNull())
			scalingConfigurationsObject.hostName = valueScalingConfigurationsScalingConfiguration["HostName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDiskName"].isNull())
			scalingConfigurationsObject.systemDiskName = valueScalingConfigurationsScalingConfiguration["SystemDiskName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["InternetMaxBandwidthOut"].isNull())
			scalingConfigurationsObject.internetMaxBandwidthOut = std::stoi(valueScalingConfigurationsScalingConfiguration["InternetMaxBandwidthOut"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["InternetMaxBandwidthIn"].isNull())
			scalingConfigurationsObject.internetMaxBandwidthIn = std::stoi(valueScalingConfigurationsScalingConfiguration["InternetMaxBandwidthIn"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["InstanceType"].isNull())
			scalingConfigurationsObject.instanceType = valueScalingConfigurationsScalingConfiguration["InstanceType"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["InstanceDescription"].isNull())
			scalingConfigurationsObject.instanceDescription = valueScalingConfigurationsScalingConfiguration["InstanceDescription"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["IoOptimized"].isNull())
			scalingConfigurationsObject.ioOptimized = valueScalingConfigurationsScalingConfiguration["IoOptimized"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["RamRoleName"].isNull())
			scalingConfigurationsObject.ramRoleName = valueScalingConfigurationsScalingConfiguration["RamRoleName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDiskPerformanceLevel"].isNull())
			scalingConfigurationsObject.systemDiskPerformanceLevel = valueScalingConfigurationsScalingConfiguration["SystemDiskPerformanceLevel"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["Cpu"].isNull())
			scalingConfigurationsObject.cpu = std::stoi(valueScalingConfigurationsScalingConfiguration["Cpu"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["ResourceGroupId"].isNull())
			scalingConfigurationsObject.resourceGroupId = valueScalingConfigurationsScalingConfiguration["ResourceGroupId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ZoneId"].isNull())
			scalingConfigurationsObject.zoneId = valueScalingConfigurationsScalingConfiguration["ZoneId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["InternetChargeType"].isNull())
			scalingConfigurationsObject.internetChargeType = valueScalingConfigurationsScalingConfiguration["InternetChargeType"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ImageName"].isNull())
			scalingConfigurationsObject.imageName = valueScalingConfigurationsScalingConfiguration["ImageName"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["ScalingConfigurationId"].isNull())
			scalingConfigurationsObject.scalingConfigurationId = valueScalingConfigurationsScalingConfiguration["ScalingConfigurationId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["CreditSpecification"].isNull())
			scalingConfigurationsObject.creditSpecification = valueScalingConfigurationsScalingConfiguration["CreditSpecification"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SpotInterruptionBehavior"].isNull())
			scalingConfigurationsObject.spotInterruptionBehavior = valueScalingConfigurationsScalingConfiguration["SpotInterruptionBehavior"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDisk.Encrypted"].isNull())
			scalingConfigurationsObject.systemDiskEncrypted = valueScalingConfigurationsScalingConfiguration["SystemDisk.Encrypted"].asString() == "true";
		if(!valueScalingConfigurationsScalingConfiguration["SystemDisk.KMSKeyId"].isNull())
			scalingConfigurationsObject.systemDiskKMSKeyId = valueScalingConfigurationsScalingConfiguration["SystemDisk.KMSKeyId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDisk.EncryptAlgorithm"].isNull())
			scalingConfigurationsObject.systemDiskEncryptAlgorithm = valueScalingConfigurationsScalingConfiguration["SystemDisk.EncryptAlgorithm"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["SystemDisk.ProvisionedIops"].isNull())
			scalingConfigurationsObject.systemDiskProvisionedIops = std::stol(valueScalingConfigurationsScalingConfiguration["SystemDisk.ProvisionedIops"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["SystemDisk.BurstingEnabled"].isNull())
			scalingConfigurationsObject.systemDiskBurstingEnabled = valueScalingConfigurationsScalingConfiguration["SystemDisk.BurstingEnabled"].asString() == "true";
		if(!valueScalingConfigurationsScalingConfiguration["ImageOptions.LoginAsNonRoot"].isNull())
			scalingConfigurationsObject.imageOptionsLoginAsNonRoot = valueScalingConfigurationsScalingConfiguration["ImageOptions.LoginAsNonRoot"].asString() == "true";
		if(!valueScalingConfigurationsScalingConfiguration["DeletionProtection"].isNull())
			scalingConfigurationsObject.deletionProtection = valueScalingConfigurationsScalingConfiguration["DeletionProtection"].asString() == "true";
		if(!valueScalingConfigurationsScalingConfiguration["StorageSetId"].isNull())
			scalingConfigurationsObject.storageSetId = valueScalingConfigurationsScalingConfiguration["StorageSetId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["StorageSetPartitionNumber"].isNull())
			scalingConfigurationsObject.storageSetPartitionNumber = std::stoi(valueScalingConfigurationsScalingConfiguration["StorageSetPartitionNumber"].asString());
		if(!valueScalingConfigurationsScalingConfiguration["DedicatedHostClusterId"].isNull())
			scalingConfigurationsObject.dedicatedHostClusterId = valueScalingConfigurationsScalingConfiguration["DedicatedHostClusterId"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["PasswordSetted"].isNull())
			scalingConfigurationsObject.passwordSetted = valueScalingConfigurationsScalingConfiguration["PasswordSetted"].asString() == "true";
		if(!valueScalingConfigurationsScalingConfiguration["HttpEndpoint"].isNull())
			scalingConfigurationsObject.httpEndpoint = valueScalingConfigurationsScalingConfiguration["HttpEndpoint"].asString();
		if(!valueScalingConfigurationsScalingConfiguration["HttpTokens"].isNull())
			scalingConfigurationsObject.httpTokens = valueScalingConfigurationsScalingConfiguration["HttpTokens"].asString();
		auto allDataDisksNode = valueScalingConfigurationsScalingConfiguration["DataDisks"]["DataDisk"];
		for (auto valueScalingConfigurationsScalingConfigurationDataDisksDataDisk : allDataDisksNode)
		{
			ScalingConfiguration::DataDisk dataDisksObject;
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["PerformanceLevel"].isNull())
				dataDisksObject.performanceLevel = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["PerformanceLevel"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Description"].isNull())
				dataDisksObject.description = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Description"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["SnapshotId"].isNull())
				dataDisksObject.snapshotId = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["SnapshotId"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Device"].isNull())
				dataDisksObject.device = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Device"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Size"].isNull())
				dataDisksObject.size = std::stoi(valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Size"].asString());
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["DiskName"].isNull())
				dataDisksObject.diskName = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["DiskName"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["AutoSnapshotPolicyId"].isNull())
				dataDisksObject.autoSnapshotPolicyId = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["AutoSnapshotPolicyId"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Category"].isNull())
				dataDisksObject.category = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Category"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["KMSKeyId"].isNull())
				dataDisksObject.kMSKeyId = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["KMSKeyId"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["DeleteWithInstance"].isNull())
				dataDisksObject.deleteWithInstance = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["DeleteWithInstance"].asString() == "true";
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Encrypted"].isNull())
				dataDisksObject.encrypted = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["Encrypted"].asString();
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["ProvisionedIops"].isNull())
				dataDisksObject.provisionedIops = std::stol(valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["ProvisionedIops"].asString());
			if(!valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["BurstingEnabled"].isNull())
				dataDisksObject.burstingEnabled = valueScalingConfigurationsScalingConfigurationDataDisksDataDisk["BurstingEnabled"].asString() == "true";
			auto allCategories = value["Categories"]["Category"];
			for (auto value : allCategories)
				dataDisksObject.categories.push_back(value.asString());
			scalingConfigurationsObject.dataDisks.push_back(dataDisksObject);
		}
		auto allTagsNode = valueScalingConfigurationsScalingConfiguration["Tags"]["Tag"];
		for (auto valueScalingConfigurationsScalingConfigurationTagsTag : allTagsNode)
		{
			ScalingConfiguration::Tag tagsObject;
			if(!valueScalingConfigurationsScalingConfigurationTagsTag["Key"].isNull())
				tagsObject.key = valueScalingConfigurationsScalingConfigurationTagsTag["Key"].asString();
			if(!valueScalingConfigurationsScalingConfigurationTagsTag["Value"].isNull())
				tagsObject.value = valueScalingConfigurationsScalingConfigurationTagsTag["Value"].asString();
			scalingConfigurationsObject.tags.push_back(tagsObject);
		}
		auto allSpotPriceLimitNode = valueScalingConfigurationsScalingConfiguration["SpotPriceLimit"]["SpotPriceModel"];
		for (auto valueScalingConfigurationsScalingConfigurationSpotPriceLimitSpotPriceModel : allSpotPriceLimitNode)
		{
			ScalingConfiguration::SpotPriceModel spotPriceLimitObject;
			if(!valueScalingConfigurationsScalingConfigurationSpotPriceLimitSpotPriceModel["InstanceType"].isNull())
				spotPriceLimitObject.instanceType = valueScalingConfigurationsScalingConfigurationSpotPriceLimitSpotPriceModel["InstanceType"].asString();
			if(!valueScalingConfigurationsScalingConfigurationSpotPriceLimitSpotPriceModel["PriceLimit"].isNull())
				spotPriceLimitObject.priceLimit = std::stof(valueScalingConfigurationsScalingConfigurationSpotPriceLimitSpotPriceModel["PriceLimit"].asString());
			scalingConfigurationsObject.spotPriceLimit.push_back(spotPriceLimitObject);
		}
		auto allInstancePatternInfosNode = valueScalingConfigurationsScalingConfiguration["InstancePatternInfos"]["InstancePatternInfo"];
		for (auto valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo : allInstancePatternInfosNode)
		{
			ScalingConfiguration::InstancePatternInfo instancePatternInfosObject;
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaxPrice"].isNull())
				instancePatternInfosObject.maxPrice = std::stof(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaxPrice"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["Cores"].isNull())
				instancePatternInfosObject.cores = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["Cores"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["Memory"].isNull())
				instancePatternInfosObject.memory = std::stof(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["Memory"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["InstanceFamilyLevel"].isNull())
				instancePatternInfosObject.instanceFamilyLevel = valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["InstanceFamilyLevel"].asString();
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["BurstablePerformance"].isNull())
				instancePatternInfosObject.burstablePerformance = valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["BurstablePerformance"].asString();
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumCpuCoreCount"].isNull())
				instancePatternInfosObject.minimumCpuCoreCount = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumCpuCoreCount"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaximumCpuCoreCount"].isNull())
				instancePatternInfosObject.maximumCpuCoreCount = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaximumCpuCoreCount"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumEniQuantity"].isNull())
				instancePatternInfosObject.minimumEniQuantity = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumEniQuantity"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumEniPrivateIpAddressQuantity"].isNull())
				instancePatternInfosObject.minimumEniPrivateIpAddressQuantity = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumEniPrivateIpAddressQuantity"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumEniIpv6AddressQuantity"].isNull())
				instancePatternInfosObject.minimumEniIpv6AddressQuantity = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumEniIpv6AddressQuantity"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumInitialCredit"].isNull())
				instancePatternInfosObject.minimumInitialCredit = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumInitialCredit"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumBaselineCredit"].isNull())
				instancePatternInfosObject.minimumBaselineCredit = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumBaselineCredit"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumMemorySize"].isNull())
				instancePatternInfosObject.minimumMemorySize = std::stof(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumMemorySize"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaximumMemorySize"].isNull())
				instancePatternInfosObject.maximumMemorySize = std::stof(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaximumMemorySize"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumGpuAmount"].isNull())
				instancePatternInfosObject.minimumGpuAmount = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MinimumGpuAmount"].asString());
			if(!valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaximumGpuAmount"].isNull())
				instancePatternInfosObject.maximumGpuAmount = std::stoi(valueScalingConfigurationsScalingConfigurationInstancePatternInfosInstancePatternInfo["MaximumGpuAmount"].asString());
			auto allArchitectures = value["Architectures"]["Architecture"];
			for (auto value : allArchitectures)
				instancePatternInfosObject.architectures.push_back(value.asString());
			auto allExcludedInstanceTypes = value["ExcludedInstanceTypes"]["ExcludedInstanceType"];
			for (auto value : allExcludedInstanceTypes)
				instancePatternInfosObject.excludedInstanceTypes.push_back(value.asString());
			auto allInstanceTypeFamilies = value["InstanceTypeFamilies"]["InstanceTypeFamily"];
			for (auto value : allInstanceTypeFamilies)
				instancePatternInfosObject.instanceTypeFamilies.push_back(value.asString());
			auto allGpuSpecs = value["GpuSpecs"]["GpuSpec"];
			for (auto value : allGpuSpecs)
				instancePatternInfosObject.gpuSpecs.push_back(value.asString());
			auto allInstanceCategories = value["InstanceCategories"]["InstanceCategory"];
			for (auto value : allInstanceCategories)
				instancePatternInfosObject.instanceCategories.push_back(value.asString());
			auto allCpuArchitectures = value["CpuArchitectures"]["CpuArchitecture"];
			for (auto value : allCpuArchitectures)
				instancePatternInfosObject.cpuArchitectures.push_back(value.asString());
			auto allPhysicalProcessorModels = value["PhysicalProcessorModels"]["PhysicalProcessorModel"];
			for (auto value : allPhysicalProcessorModels)
				instancePatternInfosObject.physicalProcessorModels.push_back(value.asString());
			scalingConfigurationsObject.instancePatternInfos.push_back(instancePatternInfosObject);
		}
		auto allCustomPrioritiesNode = valueScalingConfigurationsScalingConfiguration["CustomPriorities"]["CustomPriority"];
		for (auto valueScalingConfigurationsScalingConfigurationCustomPrioritiesCustomPriority : allCustomPrioritiesNode)
		{
			ScalingConfiguration::CustomPriority customPrioritiesObject;
			if(!valueScalingConfigurationsScalingConfigurationCustomPrioritiesCustomPriority["InstanceType"].isNull())
				customPrioritiesObject.instanceType = valueScalingConfigurationsScalingConfigurationCustomPrioritiesCustomPriority["InstanceType"].asString();
			if(!valueScalingConfigurationsScalingConfigurationCustomPrioritiesCustomPriority["VswitchId"].isNull())
				customPrioritiesObject.vswitchId = valueScalingConfigurationsScalingConfigurationCustomPrioritiesCustomPriority["VswitchId"].asString();
			scalingConfigurationsObject.customPriorities.push_back(customPrioritiesObject);
		}
		auto allNetworkInterfacesNode = valueScalingConfigurationsScalingConfiguration["NetworkInterfaces"]["NetworkInterface"];
		for (auto valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface : allNetworkInterfacesNode)
		{
			ScalingConfiguration::NetworkInterface networkInterfacesObject;
			if(!valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface["InstanceType"].isNull())
				networkInterfacesObject.instanceType = valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface["InstanceType"].asString();
			if(!valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface["NetworkInterfaceTrafficMode"].isNull())
				networkInterfacesObject.networkInterfaceTrafficMode = valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface["NetworkInterfaceTrafficMode"].asString();
			if(!valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface["Ipv6AddressCount"].isNull())
				networkInterfacesObject.ipv6AddressCount = std::stoi(valueScalingConfigurationsScalingConfigurationNetworkInterfacesNetworkInterface["Ipv6AddressCount"].asString());
			auto allSecurityGroupIds1 = value["SecurityGroupIds"]["SecurityGroupId"];
			for (auto value : allSecurityGroupIds1)
				networkInterfacesObject.securityGroupIds1.push_back(value.asString());
			scalingConfigurationsObject.networkInterfaces.push_back(networkInterfacesObject);
		}
		auto schedulerOptionsNode = value["SchedulerOptions"];
		if(!schedulerOptionsNode["ManagedPrivateSpaceId"].isNull())
			scalingConfigurationsObject.schedulerOptions.managedPrivateSpaceId = schedulerOptionsNode["ManagedPrivateSpaceId"].asString();
		auto securityOptionsNode = value["SecurityOptions"];
		if(!securityOptionsNode["ConfidentialComputingMode"].isNull())
			scalingConfigurationsObject.securityOptions.confidentialComputingMode = securityOptionsNode["ConfidentialComputingMode"].asString();
		auto resourcePoolOptionsNode = value["ResourcePoolOptions"];
		if(!resourcePoolOptionsNode["Strategy"].isNull())
			scalingConfigurationsObject.resourcePoolOptions.strategy = resourcePoolOptionsNode["Strategy"].asString();
			auto allPrivatePoolIds = resourcePoolOptionsNode["PrivatePoolIds"]["PrivatePoolId"];
			for (auto value : allPrivatePoolIds)
				scalingConfigurationsObject.resourcePoolOptions.privatePoolIds.push_back(value.asString());
		auto allSystemDiskCategories = value["SystemDiskCategories"]["SystemDiskCategory"];
		for (auto value : allSystemDiskCategories)
			scalingConfigurationsObject.systemDiskCategories.push_back(value.asString());
		auto allWeightedCapacities = value["WeightedCapacities"]["WeightedCapacity"];
		for (auto value : allWeightedCapacities)
			scalingConfigurationsObject.weightedCapacities.push_back(value.asString());
		auto allInstanceTypes = value["InstanceTypes"]["InstanceType"];
		for (auto value : allInstanceTypes)
			scalingConfigurationsObject.instanceTypes.push_back(value.asString());
		auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
		for (auto value : allSecurityGroupIds)
			scalingConfigurationsObject.securityGroupIds.push_back(value.asString());
		scalingConfigurations_.push_back(scalingConfigurationsObject);
	}
	if(!value["PageNumber"].isNull())
		pageNumber_ = std::stoi(value["PageNumber"].asString());
	if(!value["PageSize"].isNull())
		pageSize_ = std::stoi(value["PageSize"].asString());
	if(!value["TotalCount"].isNull())
		totalCount_ = std::stoi(value["TotalCount"].asString());

}