This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-mq/source/model/BrokerInstanceOption.cpp

161 lines
5.3 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/mq/model/BrokerInstanceOption.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace MQ
{
namespace Model
{
BrokerInstanceOption::BrokerInstanceOption() :
m_availabilityZonesHasBeenSet(false),
m_engineType(EngineType::NOT_SET),
m_engineTypeHasBeenSet(false),
m_hostInstanceTypeHasBeenSet(false),
m_storageType(BrokerStorageType::NOT_SET),
m_storageTypeHasBeenSet(false),
m_supportedDeploymentModesHasBeenSet(false),
m_supportedEngineVersionsHasBeenSet(false)
{
}
BrokerInstanceOption::BrokerInstanceOption(JsonView jsonValue) :
m_availabilityZonesHasBeenSet(false),
m_engineType(EngineType::NOT_SET),
m_engineTypeHasBeenSet(false),
m_hostInstanceTypeHasBeenSet(false),
m_storageType(BrokerStorageType::NOT_SET),
m_storageTypeHasBeenSet(false),
m_supportedDeploymentModesHasBeenSet(false),
m_supportedEngineVersionsHasBeenSet(false)
{
*this = jsonValue;
}
BrokerInstanceOption& BrokerInstanceOption::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("availabilityZones"))
{
Array<JsonView> availabilityZonesJsonList = jsonValue.GetArray("availabilityZones");
for(unsigned availabilityZonesIndex = 0; availabilityZonesIndex < availabilityZonesJsonList.GetLength(); ++availabilityZonesIndex)
{
m_availabilityZones.push_back(availabilityZonesJsonList[availabilityZonesIndex].AsObject());
}
m_availabilityZonesHasBeenSet = true;
}
if(jsonValue.ValueExists("engineType"))
{
m_engineType = EngineTypeMapper::GetEngineTypeForName(jsonValue.GetString("engineType"));
m_engineTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("hostInstanceType"))
{
m_hostInstanceType = jsonValue.GetString("hostInstanceType");
m_hostInstanceTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("storageType"))
{
m_storageType = BrokerStorageTypeMapper::GetBrokerStorageTypeForName(jsonValue.GetString("storageType"));
m_storageTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("supportedDeploymentModes"))
{
Array<JsonView> supportedDeploymentModesJsonList = jsonValue.GetArray("supportedDeploymentModes");
for(unsigned supportedDeploymentModesIndex = 0; supportedDeploymentModesIndex < supportedDeploymentModesJsonList.GetLength(); ++supportedDeploymentModesIndex)
{
m_supportedDeploymentModes.push_back(DeploymentModeMapper::GetDeploymentModeForName(supportedDeploymentModesJsonList[supportedDeploymentModesIndex].AsString()));
}
m_supportedDeploymentModesHasBeenSet = true;
}
if(jsonValue.ValueExists("supportedEngineVersions"))
{
Array<JsonView> supportedEngineVersionsJsonList = jsonValue.GetArray("supportedEngineVersions");
for(unsigned supportedEngineVersionsIndex = 0; supportedEngineVersionsIndex < supportedEngineVersionsJsonList.GetLength(); ++supportedEngineVersionsIndex)
{
m_supportedEngineVersions.push_back(supportedEngineVersionsJsonList[supportedEngineVersionsIndex].AsString());
}
m_supportedEngineVersionsHasBeenSet = true;
}
return *this;
}
JsonValue BrokerInstanceOption::Jsonize() const
{
JsonValue payload;
if(m_availabilityZonesHasBeenSet)
{
Array<JsonValue> availabilityZonesJsonList(m_availabilityZones.size());
for(unsigned availabilityZonesIndex = 0; availabilityZonesIndex < availabilityZonesJsonList.GetLength(); ++availabilityZonesIndex)
{
availabilityZonesJsonList[availabilityZonesIndex].AsObject(m_availabilityZones[availabilityZonesIndex].Jsonize());
}
payload.WithArray("availabilityZones", std::move(availabilityZonesJsonList));
}
if(m_engineTypeHasBeenSet)
{
payload.WithString("engineType", EngineTypeMapper::GetNameForEngineType(m_engineType));
}
if(m_hostInstanceTypeHasBeenSet)
{
payload.WithString("hostInstanceType", m_hostInstanceType);
}
if(m_storageTypeHasBeenSet)
{
payload.WithString("storageType", BrokerStorageTypeMapper::GetNameForBrokerStorageType(m_storageType));
}
if(m_supportedDeploymentModesHasBeenSet)
{
Array<JsonValue> supportedDeploymentModesJsonList(m_supportedDeploymentModes.size());
for(unsigned supportedDeploymentModesIndex = 0; supportedDeploymentModesIndex < supportedDeploymentModesJsonList.GetLength(); ++supportedDeploymentModesIndex)
{
supportedDeploymentModesJsonList[supportedDeploymentModesIndex].AsString(DeploymentModeMapper::GetNameForDeploymentMode(m_supportedDeploymentModes[supportedDeploymentModesIndex]));
}
payload.WithArray("supportedDeploymentModes", std::move(supportedDeploymentModesJsonList));
}
if(m_supportedEngineVersionsHasBeenSet)
{
Array<JsonValue> supportedEngineVersionsJsonList(m_supportedEngineVersions.size());
for(unsigned supportedEngineVersionsIndex = 0; supportedEngineVersionsIndex < supportedEngineVersionsJsonList.GetLength(); ++supportedEngineVersionsIndex)
{
supportedEngineVersionsJsonList[supportedEngineVersionsIndex].AsString(m_supportedEngineVersions[supportedEngineVersionsIndex]);
}
payload.WithArray("supportedEngineVersions", std::move(supportedEngineVersionsJsonList));
}
return payload;
}
} // namespace Model
} // namespace MQ
} // namespace Aws