in greengrass_ipc/source/GreengrassCoreIpcModel.cpp [6444:6520]
void CreateLocalDeploymentRequest::s_loadFromJsonView(
CreateLocalDeploymentRequest &createLocalDeploymentRequest,
const Aws::Crt::JsonView &jsonView) noexcept
{
if (jsonView.ValueExists("groupName"))
{
createLocalDeploymentRequest.m_groupName =
Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("groupName"));
}
if (jsonView.ValueExists("rootComponentVersionsToAdd"))
{
createLocalDeploymentRequest.m_rootComponentVersionsToAdd =
Aws::Crt::Map<Aws::Crt::String, Aws::Crt::String>();
for (const auto &componentToVersionMapPair :
jsonView.GetJsonObject("rootComponentVersionsToAdd").GetAllObjects())
{
Aws::Crt::Optional<Aws::Crt::String> componentToVersionMapValue;
componentToVersionMapValue =
Aws::Crt::Optional<Aws::Crt::String>(componentToVersionMapPair.second.AsString());
createLocalDeploymentRequest.m_rootComponentVersionsToAdd.value()[componentToVersionMapPair.first] =
componentToVersionMapValue.value();
}
}
if (jsonView.ValueExists("rootComponentsToRemove"))
{
createLocalDeploymentRequest.m_rootComponentsToRemove = Aws::Crt::Vector<Aws::Crt::String>();
for (const Aws::Crt::JsonView &componentListJsonView : jsonView.GetArray("rootComponentsToRemove"))
{
Aws::Crt::Optional<Aws::Crt::String> componentListItem;
componentListItem = Aws::Crt::Optional<Aws::Crt::String>(componentListJsonView.AsString());
createLocalDeploymentRequest.m_rootComponentsToRemove.value().push_back(componentListItem.value());
}
}
if (jsonView.ValueExists("componentToConfiguration"))
{
createLocalDeploymentRequest.m_componentToConfiguration =
Aws::Crt::Map<Aws::Crt::String, Aws::Crt::JsonObject>();
for (const auto &componentToConfigurationPair :
jsonView.GetJsonObject("componentToConfiguration").GetAllObjects())
{
Aws::Crt::Optional<Aws::Crt::JsonObject> componentToConfigurationValue;
componentToConfigurationValue = Aws::Crt::Optional<Aws::Crt::JsonObject>(
componentToConfigurationPair.second.AsObject().Materialize());
createLocalDeploymentRequest.m_componentToConfiguration
.value()[componentToConfigurationPair.first] = componentToConfigurationValue.value();
}
}
if (jsonView.ValueExists("componentToRunWithInfo"))
{
createLocalDeploymentRequest.m_componentToRunWithInfo = Aws::Crt::Map<Aws::Crt::String, RunWithInfo>();
for (const auto &componentToRunWithInfoPair :
jsonView.GetJsonObject("componentToRunWithInfo").GetAllObjects())
{
Aws::Crt::Optional<RunWithInfo> componentToRunWithInfoValue;
componentToRunWithInfoValue = RunWithInfo();
RunWithInfo::s_loadFromJsonView(
componentToRunWithInfoValue.value(), componentToRunWithInfoPair.second);
createLocalDeploymentRequest.m_componentToRunWithInfo.value()[componentToRunWithInfoPair.first] =
componentToRunWithInfoValue.value();
}
}
if (jsonView.ValueExists("recipeDirectoryPath"))
{
createLocalDeploymentRequest.m_recipeDirectoryPath =
Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("recipeDirectoryPath"));
}
if (jsonView.ValueExists("artifactsDirectoryPath"))
{
createLocalDeploymentRequest.m_artifactsDirectoryPath =
Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("artifactsDirectoryPath"));
}
if (jsonView.ValueExists("failureHandlingPolicy"))
{
createLocalDeploymentRequest.m_failureHandlingPolicy =
Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("failureHandlingPolicy"));
}
}