/** * 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 Organizations { namespace Model { HandshakeResource::HandshakeResource() : m_valueHasBeenSet(false), m_type(HandshakeResourceType::NOT_SET), m_typeHasBeenSet(false), m_resourcesHasBeenSet(false) { } HandshakeResource::HandshakeResource(JsonView jsonValue) : m_valueHasBeenSet(false), m_type(HandshakeResourceType::NOT_SET), m_typeHasBeenSet(false), m_resourcesHasBeenSet(false) { *this = jsonValue; } HandshakeResource& HandshakeResource::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("Value")) { m_value = jsonValue.GetString("Value"); m_valueHasBeenSet = true; } if(jsonValue.ValueExists("Type")) { m_type = HandshakeResourceTypeMapper::GetHandshakeResourceTypeForName(jsonValue.GetString("Type")); m_typeHasBeenSet = true; } if(jsonValue.ValueExists("Resources")) { Aws::Utils::Array resourcesJsonList = jsonValue.GetArray("Resources"); for(unsigned resourcesIndex = 0; resourcesIndex < resourcesJsonList.GetLength(); ++resourcesIndex) { m_resources.push_back(resourcesJsonList[resourcesIndex].AsObject()); } m_resourcesHasBeenSet = true; } return *this; } JsonValue HandshakeResource::Jsonize() const { JsonValue payload; if(m_valueHasBeenSet) { payload.WithString("Value", m_value); } if(m_typeHasBeenSet) { payload.WithString("Type", HandshakeResourceTypeMapper::GetNameForHandshakeResourceType(m_type)); } if(m_resourcesHasBeenSet) { Aws::Utils::Array resourcesJsonList(m_resources.size()); for(unsigned resourcesIndex = 0; resourcesIndex < resourcesJsonList.GetLength(); ++resourcesIndex) { resourcesJsonList[resourcesIndex].AsObject(m_resources[resourcesIndex].Jsonize()); } payload.WithArray("Resources", std::move(resourcesJsonList)); } return payload; } } // namespace Model } // namespace Organizations } // namespace Aws