/** * 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 CostExplorer { namespace Model { ReservationUtilizationGroup::ReservationUtilizationGroup() : m_keyHasBeenSet(false), m_valueHasBeenSet(false), m_attributesHasBeenSet(false), m_utilizationHasBeenSet(false) { } ReservationUtilizationGroup::ReservationUtilizationGroup(JsonView jsonValue) : m_keyHasBeenSet(false), m_valueHasBeenSet(false), m_attributesHasBeenSet(false), m_utilizationHasBeenSet(false) { *this = jsonValue; } ReservationUtilizationGroup& ReservationUtilizationGroup::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("Key")) { m_key = jsonValue.GetString("Key"); m_keyHasBeenSet = true; } if(jsonValue.ValueExists("Value")) { m_value = jsonValue.GetString("Value"); m_valueHasBeenSet = true; } if(jsonValue.ValueExists("Attributes")) { Aws::Map attributesJsonMap = jsonValue.GetObject("Attributes").GetAllObjects(); for(auto& attributesItem : attributesJsonMap) { m_attributes[attributesItem.first] = attributesItem.second.AsString(); } m_attributesHasBeenSet = true; } if(jsonValue.ValueExists("Utilization")) { m_utilization = jsonValue.GetObject("Utilization"); m_utilizationHasBeenSet = true; } return *this; } JsonValue ReservationUtilizationGroup::Jsonize() const { JsonValue payload; if(m_keyHasBeenSet) { payload.WithString("Key", m_key); } if(m_valueHasBeenSet) { payload.WithString("Value", m_value); } if(m_attributesHasBeenSet) { JsonValue attributesJsonMap; for(auto& attributesItem : m_attributes) { attributesJsonMap.WithString(attributesItem.first, attributesItem.second); } payload.WithObject("Attributes", std::move(attributesJsonMap)); } if(m_utilizationHasBeenSet) { payload.WithObject("Utilization", m_utilization.Jsonize()); } return payload; } } // namespace Model } // namespace CostExplorer } // namespace Aws