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

File settings for a TSV store.

See Also:

AWS * API Reference

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

The store's annotation type.

*/ inline const AnnotationType& GetAnnotationType() const{ return m_annotationType; } /** *

The store's annotation type.

*/ inline bool AnnotationTypeHasBeenSet() const { return m_annotationTypeHasBeenSet; } /** *

The store's annotation type.

*/ inline void SetAnnotationType(const AnnotationType& value) { m_annotationTypeHasBeenSet = true; m_annotationType = value; } /** *

The store's annotation type.

*/ inline void SetAnnotationType(AnnotationType&& value) { m_annotationTypeHasBeenSet = true; m_annotationType = std::move(value); } /** *

The store's annotation type.

*/ inline TsvStoreOptions& WithAnnotationType(const AnnotationType& value) { SetAnnotationType(value); return *this;} /** *

The store's annotation type.

*/ inline TsvStoreOptions& WithAnnotationType(AnnotationType&& value) { SetAnnotationType(std::move(value)); return *this;} /** *

The store's header key to column name mapping.

*/ inline const Aws::Map& GetFormatToHeader() const{ return m_formatToHeader; } /** *

The store's header key to column name mapping.

*/ inline bool FormatToHeaderHasBeenSet() const { return m_formatToHeaderHasBeenSet; } /** *

The store's header key to column name mapping.

*/ inline void SetFormatToHeader(const Aws::Map& value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader = value; } /** *

The store's header key to column name mapping.

*/ inline void SetFormatToHeader(Aws::Map&& value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader = std::move(value); } /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& WithFormatToHeader(const Aws::Map& value) { SetFormatToHeader(value); return *this;} /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& WithFormatToHeader(Aws::Map&& value) { SetFormatToHeader(std::move(value)); return *this;} /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& AddFormatToHeader(const FormatToHeaderKey& key, const Aws::String& value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader.emplace(key, value); return *this; } /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& AddFormatToHeader(FormatToHeaderKey&& key, const Aws::String& value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader.emplace(std::move(key), value); return *this; } /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& AddFormatToHeader(const FormatToHeaderKey& key, Aws::String&& value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader.emplace(key, std::move(value)); return *this; } /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& AddFormatToHeader(FormatToHeaderKey&& key, Aws::String&& value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader.emplace(std::move(key), std::move(value)); return *this; } /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& AddFormatToHeader(FormatToHeaderKey&& key, const char* value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader.emplace(std::move(key), value); return *this; } /** *

The store's header key to column name mapping.

*/ inline TsvStoreOptions& AddFormatToHeader(const FormatToHeaderKey& key, const char* value) { m_formatToHeaderHasBeenSet = true; m_formatToHeader.emplace(key, value); return *this; } /** *

The store's schema.

*/ inline const Aws::Vector>& GetSchema() const{ return m_schema; } /** *

The store's schema.

*/ inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; } /** *

The store's schema.

*/ inline void SetSchema(const Aws::Vector>& value) { m_schemaHasBeenSet = true; m_schema = value; } /** *

The store's schema.

*/ inline void SetSchema(Aws::Vector>&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); } /** *

The store's schema.

*/ inline TsvStoreOptions& WithSchema(const Aws::Vector>& value) { SetSchema(value); return *this;} /** *

The store's schema.

*/ inline TsvStoreOptions& WithSchema(Aws::Vector>&& value) { SetSchema(std::move(value)); return *this;} /** *

The store's schema.

*/ inline TsvStoreOptions& AddSchema(const Aws::Map& value) { m_schemaHasBeenSet = true; m_schema.push_back(value); return *this; } /** *

The store's schema.

*/ inline TsvStoreOptions& AddSchema(Aws::Map&& value) { m_schemaHasBeenSet = true; m_schema.push_back(std::move(value)); return *this; } private: AnnotationType m_annotationType; bool m_annotationTypeHasBeenSet = false; Aws::Map m_formatToHeader; bool m_formatToHeaderHasBeenSet = false; Aws::Vector> m_schema; bool m_schemaHasBeenSet = false; }; } // namespace Model } // namespace Omics } // namespace Aws