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

Represents a set of options that define the structure of either * comma-separated value (CSV), Excel, or JSON input.

See Also:

AWS * API Reference

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

Options that define how JSON input is to be interpreted by DataBrew.

*/ inline const JsonOptions& GetJson() const{ return m_json; } /** *

Options that define how JSON input is to be interpreted by DataBrew.

*/ inline bool JsonHasBeenSet() const { return m_jsonHasBeenSet; } /** *

Options that define how JSON input is to be interpreted by DataBrew.

*/ inline void SetJson(const JsonOptions& value) { m_jsonHasBeenSet = true; m_json = value; } /** *

Options that define how JSON input is to be interpreted by DataBrew.

*/ inline void SetJson(JsonOptions&& value) { m_jsonHasBeenSet = true; m_json = std::move(value); } /** *

Options that define how JSON input is to be interpreted by DataBrew.

*/ inline FormatOptions& WithJson(const JsonOptions& value) { SetJson(value); return *this;} /** *

Options that define how JSON input is to be interpreted by DataBrew.

*/ inline FormatOptions& WithJson(JsonOptions&& value) { SetJson(std::move(value)); return *this;} /** *

Options that define how Excel input is to be interpreted by DataBrew.

*/ inline const ExcelOptions& GetExcel() const{ return m_excel; } /** *

Options that define how Excel input is to be interpreted by DataBrew.

*/ inline bool ExcelHasBeenSet() const { return m_excelHasBeenSet; } /** *

Options that define how Excel input is to be interpreted by DataBrew.

*/ inline void SetExcel(const ExcelOptions& value) { m_excelHasBeenSet = true; m_excel = value; } /** *

Options that define how Excel input is to be interpreted by DataBrew.

*/ inline void SetExcel(ExcelOptions&& value) { m_excelHasBeenSet = true; m_excel = std::move(value); } /** *

Options that define how Excel input is to be interpreted by DataBrew.

*/ inline FormatOptions& WithExcel(const ExcelOptions& value) { SetExcel(value); return *this;} /** *

Options that define how Excel input is to be interpreted by DataBrew.

*/ inline FormatOptions& WithExcel(ExcelOptions&& value) { SetExcel(std::move(value)); return *this;} /** *

Options that define how CSV input is to be interpreted by DataBrew.

*/ inline const CsvOptions& GetCsv() const{ return m_csv; } /** *

Options that define how CSV input is to be interpreted by DataBrew.

*/ inline bool CsvHasBeenSet() const { return m_csvHasBeenSet; } /** *

Options that define how CSV input is to be interpreted by DataBrew.

*/ inline void SetCsv(const CsvOptions& value) { m_csvHasBeenSet = true; m_csv = value; } /** *

Options that define how CSV input is to be interpreted by DataBrew.

*/ inline void SetCsv(CsvOptions&& value) { m_csvHasBeenSet = true; m_csv = std::move(value); } /** *

Options that define how CSV input is to be interpreted by DataBrew.

*/ inline FormatOptions& WithCsv(const CsvOptions& value) { SetCsv(value); return *this;} /** *

Options that define how CSV input is to be interpreted by DataBrew.

*/ inline FormatOptions& WithCsv(CsvOptions&& value) { SetCsv(std::move(value)); return *this;} private: JsonOptions m_json; bool m_jsonHasBeenSet = false; ExcelOptions m_excel; bool m_excelHasBeenSet = false; CsvOptions m_csv; bool m_csvHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws