/** * 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 Glue { namespace Model { /** *

A structure representing an open format table.

See Also:

AWS * API Reference

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

Specifies an IcebergInput structure that defines an Apache * Iceberg metadata table.

*/ inline const IcebergInput& GetIcebergInput() const{ return m_icebergInput; } /** *

Specifies an IcebergInput structure that defines an Apache * Iceberg metadata table.

*/ inline bool IcebergInputHasBeenSet() const { return m_icebergInputHasBeenSet; } /** *

Specifies an IcebergInput structure that defines an Apache * Iceberg metadata table.

*/ inline void SetIcebergInput(const IcebergInput& value) { m_icebergInputHasBeenSet = true; m_icebergInput = value; } /** *

Specifies an IcebergInput structure that defines an Apache * Iceberg metadata table.

*/ inline void SetIcebergInput(IcebergInput&& value) { m_icebergInputHasBeenSet = true; m_icebergInput = std::move(value); } /** *

Specifies an IcebergInput structure that defines an Apache * Iceberg metadata table.

*/ inline OpenTableFormatInput& WithIcebergInput(const IcebergInput& value) { SetIcebergInput(value); return *this;} /** *

Specifies an IcebergInput structure that defines an Apache * Iceberg metadata table.

*/ inline OpenTableFormatInput& WithIcebergInput(IcebergInput&& value) { SetIcebergInput(std::move(value)); return *this;} private: IcebergInput m_icebergInput; bool m_icebergInputHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws