/** * 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 PrivateNetworks { namespace Model { ValidationException::ValidationException() : m_fieldListHasBeenSet(false), m_messageHasBeenSet(false), m_reason(ValidationExceptionReason::NOT_SET), m_reasonHasBeenSet(false) { } ValidationException::ValidationException(JsonView jsonValue) : m_fieldListHasBeenSet(false), m_messageHasBeenSet(false), m_reason(ValidationExceptionReason::NOT_SET), m_reasonHasBeenSet(false) { *this = jsonValue; } ValidationException& ValidationException::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("fieldList")) { Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) { m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); } m_fieldListHasBeenSet = true; } if(jsonValue.ValueExists("message")) { m_message = jsonValue.GetString("message"); m_messageHasBeenSet = true; } if(jsonValue.ValueExists("reason")) { m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); m_reasonHasBeenSet = true; } return *this; } JsonValue ValidationException::Jsonize() const { JsonValue payload; if(m_fieldListHasBeenSet) { Aws::Utils::Array fieldListJsonList(m_fieldList.size()); for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) { fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); } payload.WithArray("fieldList", std::move(fieldListJsonList)); } if(m_messageHasBeenSet) { payload.WithString("message", m_message); } if(m_reasonHasBeenSet) { payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); } return payload; } } // namespace Model } // namespace PrivateNetworks } // namespace Aws