/** * 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 { CustomSql::CustomSql() : m_dataSourceArnHasBeenSet(false), m_nameHasBeenSet(false), m_sqlQueryHasBeenSet(false), m_columnsHasBeenSet(false) { } CustomSql::CustomSql(JsonView jsonValue) : m_dataSourceArnHasBeenSet(false), m_nameHasBeenSet(false), m_sqlQueryHasBeenSet(false), m_columnsHasBeenSet(false) { *this = jsonValue; } CustomSql& CustomSql::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("DataSourceArn")) { m_dataSourceArn = jsonValue.GetString("DataSourceArn"); m_dataSourceArnHasBeenSet = true; } if(jsonValue.ValueExists("Name")) { m_name = jsonValue.GetString("Name"); m_nameHasBeenSet = true; } if(jsonValue.ValueExists("SqlQuery")) { m_sqlQuery = jsonValue.GetString("SqlQuery"); m_sqlQueryHasBeenSet = true; } if(jsonValue.ValueExists("Columns")) { Aws::Utils::Array columnsJsonList = jsonValue.GetArray("Columns"); for(unsigned columnsIndex = 0; columnsIndex < columnsJsonList.GetLength(); ++columnsIndex) { m_columns.push_back(columnsJsonList[columnsIndex].AsObject()); } m_columnsHasBeenSet = true; } return *this; } JsonValue CustomSql::Jsonize() const { JsonValue payload; if(m_dataSourceArnHasBeenSet) { payload.WithString("DataSourceArn", m_dataSourceArn); } if(m_nameHasBeenSet) { payload.WithString("Name", m_name); } if(m_sqlQueryHasBeenSet) { payload.WithString("SqlQuery", m_sqlQuery); } if(m_columnsHasBeenSet) { Aws::Utils::Array columnsJsonList(m_columns.size()); for(unsigned columnsIndex = 0; columnsIndex < columnsJsonList.GetLength(); ++columnsIndex) { columnsJsonList[columnsIndex].AsObject(m_columns[columnsIndex].Jsonize()); } payload.WithArray("Columns", std::move(columnsJsonList)); } return payload; } } // namespace Model } // namespace QuickSight } // namespace Aws