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

A union of schema types.

See Also:

AWS * API Reference

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

The configuration for a schema on a tabular Dataset.

*/ inline const SchemaDefinition& GetTabularSchemaConfig() const{ return m_tabularSchemaConfig; } /** *

The configuration for a schema on a tabular Dataset.

*/ inline bool TabularSchemaConfigHasBeenSet() const { return m_tabularSchemaConfigHasBeenSet; } /** *

The configuration for a schema on a tabular Dataset.

*/ inline void SetTabularSchemaConfig(const SchemaDefinition& value) { m_tabularSchemaConfigHasBeenSet = true; m_tabularSchemaConfig = value; } /** *

The configuration for a schema on a tabular Dataset.

*/ inline void SetTabularSchemaConfig(SchemaDefinition&& value) { m_tabularSchemaConfigHasBeenSet = true; m_tabularSchemaConfig = std::move(value); } /** *

The configuration for a schema on a tabular Dataset.

*/ inline SchemaUnion& WithTabularSchemaConfig(const SchemaDefinition& value) { SetTabularSchemaConfig(value); return *this;} /** *

The configuration for a schema on a tabular Dataset.

*/ inline SchemaUnion& WithTabularSchemaConfig(SchemaDefinition&& value) { SetTabularSchemaConfig(std::move(value)); return *this;} private: SchemaDefinition m_tabularSchemaConfig; bool m_tabularSchemaConfigHasBeenSet = false; }; } // namespace Model } // namespace FinSpaceData } // namespace Aws