/** * 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 QuickSight { namespace Model { ResourcePermission::ResourcePermission() : m_principalHasBeenSet(false), m_actionsHasBeenSet(false) { } ResourcePermission::ResourcePermission(JsonView jsonValue) : m_principalHasBeenSet(false), m_actionsHasBeenSet(false) { *this = jsonValue; } ResourcePermission& ResourcePermission::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("Principal")) { m_principal = jsonValue.GetString("Principal"); m_principalHasBeenSet = true; } if(jsonValue.ValueExists("Actions")) { Aws::Utils::Array actionsJsonList = jsonValue.GetArray("Actions"); for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) { m_actions.push_back(actionsJsonList[actionsIndex].AsString()); } m_actionsHasBeenSet = true; } return *this; } JsonValue ResourcePermission::Jsonize() const { JsonValue payload; if(m_principalHasBeenSet) { payload.WithString("Principal", m_principal); } if(m_actionsHasBeenSet) { Aws::Utils::Array actionsJsonList(m_actions.size()); for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) { actionsJsonList[actionsIndex].AsString(m_actions[actionsIndex]); } payload.WithArray("Actions", std::move(actionsJsonList)); } return payload; } } // namespace Model } // namespace QuickSight } // namespace Aws