/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AmplifyUIBuilder { namespace Model { /** *

Describes a model in a generic data schema.

See Also:

AWS * API Reference

*/ class CodegenGenericDataModel { public: AWS_AMPLIFYUIBUILDER_API CodegenGenericDataModel(); AWS_AMPLIFYUIBUILDER_API CodegenGenericDataModel(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYUIBUILDER_API CodegenGenericDataModel& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYUIBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The fields in the generic data model.

*/ inline const Aws::Map& GetFields() const{ return m_fields; } /** *

The fields in the generic data model.

*/ inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; } /** *

The fields in the generic data model.

*/ inline void SetFields(const Aws::Map& value) { m_fieldsHasBeenSet = true; m_fields = value; } /** *

The fields in the generic data model.

*/ inline void SetFields(Aws::Map&& value) { m_fieldsHasBeenSet = true; m_fields = std::move(value); } /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& WithFields(const Aws::Map& value) { SetFields(value); return *this;} /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& WithFields(Aws::Map&& value) { SetFields(std::move(value)); return *this;} /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& AddFields(const Aws::String& key, const CodegenGenericDataField& value) { m_fieldsHasBeenSet = true; m_fields.emplace(key, value); return *this; } /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& AddFields(Aws::String&& key, const CodegenGenericDataField& value) { m_fieldsHasBeenSet = true; m_fields.emplace(std::move(key), value); return *this; } /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& AddFields(const Aws::String& key, CodegenGenericDataField&& value) { m_fieldsHasBeenSet = true; m_fields.emplace(key, std::move(value)); return *this; } /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& AddFields(Aws::String&& key, CodegenGenericDataField&& value) { m_fieldsHasBeenSet = true; m_fields.emplace(std::move(key), std::move(value)); return *this; } /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& AddFields(const char* key, CodegenGenericDataField&& value) { m_fieldsHasBeenSet = true; m_fields.emplace(key, std::move(value)); return *this; } /** *

The fields in the generic data model.

*/ inline CodegenGenericDataModel& AddFields(const char* key, const CodegenGenericDataField& value) { m_fieldsHasBeenSet = true; m_fields.emplace(key, value); return *this; } /** *

Specifies whether the generic data model is a join table.

*/ inline bool GetIsJoinTable() const{ return m_isJoinTable; } /** *

Specifies whether the generic data model is a join table.

*/ inline bool IsJoinTableHasBeenSet() const { return m_isJoinTableHasBeenSet; } /** *

Specifies whether the generic data model is a join table.

*/ inline void SetIsJoinTable(bool value) { m_isJoinTableHasBeenSet = true; m_isJoinTable = value; } /** *

Specifies whether the generic data model is a join table.

*/ inline CodegenGenericDataModel& WithIsJoinTable(bool value) { SetIsJoinTable(value); return *this;} /** *

The primary keys of the generic data model.

*/ inline const Aws::Vector& GetPrimaryKeys() const{ return m_primaryKeys; } /** *

The primary keys of the generic data model.

*/ inline bool PrimaryKeysHasBeenSet() const { return m_primaryKeysHasBeenSet; } /** *

The primary keys of the generic data model.

*/ inline void SetPrimaryKeys(const Aws::Vector& value) { m_primaryKeysHasBeenSet = true; m_primaryKeys = value; } /** *

The primary keys of the generic data model.

*/ inline void SetPrimaryKeys(Aws::Vector&& value) { m_primaryKeysHasBeenSet = true; m_primaryKeys = std::move(value); } /** *

The primary keys of the generic data model.

*/ inline CodegenGenericDataModel& WithPrimaryKeys(const Aws::Vector& value) { SetPrimaryKeys(value); return *this;} /** *

The primary keys of the generic data model.

*/ inline CodegenGenericDataModel& WithPrimaryKeys(Aws::Vector&& value) { SetPrimaryKeys(std::move(value)); return *this;} /** *

The primary keys of the generic data model.

*/ inline CodegenGenericDataModel& AddPrimaryKeys(const Aws::String& value) { m_primaryKeysHasBeenSet = true; m_primaryKeys.push_back(value); return *this; } /** *

The primary keys of the generic data model.

*/ inline CodegenGenericDataModel& AddPrimaryKeys(Aws::String&& value) { m_primaryKeysHasBeenSet = true; m_primaryKeys.push_back(std::move(value)); return *this; } /** *

The primary keys of the generic data model.

*/ inline CodegenGenericDataModel& AddPrimaryKeys(const char* value) { m_primaryKeysHasBeenSet = true; m_primaryKeys.push_back(value); return *this; } private: Aws::Map m_fields; bool m_fieldsHasBeenSet = false; bool m_isJoinTable; bool m_isJoinTableHasBeenSet = false; Aws::Vector m_primaryKeys; bool m_primaryKeysHasBeenSet = false; }; } // namespace Model } // namespace AmplifyUIBuilder } // namespace Aws