in greengrass_ipc/source/GreengrassCoreIpcModel.cpp [6375:6442]
void CreateLocalDeploymentRequest::SerializeToJsonObject(Aws::Crt::JsonObject &payloadObject) const noexcept
{
if (m_groupName.has_value())
{
payloadObject.WithString("groupName", m_groupName.value());
}
if (m_rootComponentVersionsToAdd.has_value())
{
Aws::Crt::JsonObject componentToVersionMapValue;
for (const auto &componentToVersionMapItem : m_rootComponentVersionsToAdd.value())
{
Aws::Crt::JsonObject componentToVersionMapJsonObject;
componentToVersionMapJsonObject.AsString(componentToVersionMapItem.second);
componentToVersionMapValue.WithObject(
componentToVersionMapItem.first, std::move(componentToVersionMapJsonObject));
}
payloadObject.WithObject("rootComponentVersionsToAdd", std::move(componentToVersionMapValue));
}
if (m_rootComponentsToRemove.has_value())
{
Aws::Crt::JsonObject componentList;
Aws::Crt::Vector<Aws::Crt::JsonObject> componentListJsonArray;
for (const auto &componentListItem : m_rootComponentsToRemove.value())
{
Aws::Crt::JsonObject componentListJsonArrayItem;
componentListJsonArrayItem.AsString(componentListItem);
componentListJsonArray.emplace_back(std::move(componentListJsonArrayItem));
}
componentList.AsArray(std::move(componentListJsonArray));
payloadObject.WithObject("rootComponentsToRemove", std::move(componentList));
}
if (m_componentToConfiguration.has_value())
{
Aws::Crt::JsonObject componentToConfigurationValue;
for (const auto &componentToConfigurationItem : m_componentToConfiguration.value())
{
Aws::Crt::JsonObject componentToConfigurationJsonObject;
componentToConfigurationJsonObject.AsObject(componentToConfigurationItem.second);
componentToConfigurationValue.WithObject(
componentToConfigurationItem.first, std::move(componentToConfigurationJsonObject));
}
payloadObject.WithObject("componentToConfiguration", std::move(componentToConfigurationValue));
}
if (m_componentToRunWithInfo.has_value())
{
Aws::Crt::JsonObject componentToRunWithInfoValue;
for (const auto &componentToRunWithInfoItem : m_componentToRunWithInfo.value())
{
Aws::Crt::JsonObject componentToRunWithInfoJsonObject;
componentToRunWithInfoItem.second.SerializeToJsonObject(componentToRunWithInfoJsonObject);
componentToRunWithInfoValue.WithObject(
componentToRunWithInfoItem.first, std::move(componentToRunWithInfoJsonObject));
}
payloadObject.WithObject("componentToRunWithInfo", std::move(componentToRunWithInfoValue));
}
if (m_recipeDirectoryPath.has_value())
{
payloadObject.WithString("recipeDirectoryPath", m_recipeDirectoryPath.value());
}
if (m_artifactsDirectoryPath.has_value())
{
payloadObject.WithString("artifactsDirectoryPath", m_artifactsDirectoryPath.value());
}
if (m_failureHandlingPolicy.has_value())
{
payloadObject.WithString("failureHandlingPolicy", m_failureHandlingPolicy.value());
}
}