/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include using namespace Aws::Utils::Json; using namespace Aws::Utils; namespace Aws { namespace IoTJobsDataPlane { namespace Model { JobExecutionState::JobExecutionState() : m_status(JobExecutionStatus::NOT_SET), m_statusHasBeenSet(false), m_statusDetailsHasBeenSet(false), m_versionNumber(0), m_versionNumberHasBeenSet(false) { } JobExecutionState::JobExecutionState(JsonView jsonValue) : m_status(JobExecutionStatus::NOT_SET), m_statusHasBeenSet(false), m_statusDetailsHasBeenSet(false), m_versionNumber(0), m_versionNumberHasBeenSet(false) { *this = jsonValue; } JobExecutionState& JobExecutionState::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("status")) { m_status = JobExecutionStatusMapper::GetJobExecutionStatusForName(jsonValue.GetString("status")); m_statusHasBeenSet = true; } if(jsonValue.ValueExists("statusDetails")) { Aws::Map statusDetailsJsonMap = jsonValue.GetObject("statusDetails").GetAllObjects(); for(auto& statusDetailsItem : statusDetailsJsonMap) { m_statusDetails[statusDetailsItem.first] = statusDetailsItem.second.AsString(); } m_statusDetailsHasBeenSet = true; } if(jsonValue.ValueExists("versionNumber")) { m_versionNumber = jsonValue.GetInt64("versionNumber"); m_versionNumberHasBeenSet = true; } return *this; } JsonValue JobExecutionState::Jsonize() const { JsonValue payload; if(m_statusHasBeenSet) { payload.WithString("status", JobExecutionStatusMapper::GetNameForJobExecutionStatus(m_status)); } if(m_statusDetailsHasBeenSet) { JsonValue statusDetailsJsonMap; for(auto& statusDetailsItem : m_statusDetails) { statusDetailsJsonMap.WithString(statusDetailsItem.first, statusDetailsItem.second); } payload.WithObject("statusDetails", std::move(statusDetailsJsonMap)); } if(m_versionNumberHasBeenSet) { payload.WithInt64("versionNumber", m_versionNumber); } return payload; } } // namespace Model } // namespace IoTJobsDataPlane } // namespace Aws