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

The attributes of a VSAM type data set.

See Also:

AWS * API Reference

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

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline const Aws::Vector& GetAlternateKeys() const{ return m_alternateKeys; } /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline bool AlternateKeysHasBeenSet() const { return m_alternateKeysHasBeenSet; } /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline void SetAlternateKeys(const Aws::Vector& value) { m_alternateKeysHasBeenSet = true; m_alternateKeys = value; } /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline void SetAlternateKeys(Aws::Vector&& value) { m_alternateKeysHasBeenSet = true; m_alternateKeys = std::move(value); } /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline VsamAttributes& WithAlternateKeys(const Aws::Vector& value) { SetAlternateKeys(value); return *this;} /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline VsamAttributes& WithAlternateKeys(Aws::Vector&& value) { SetAlternateKeys(std::move(value)); return *this;} /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline VsamAttributes& AddAlternateKeys(const AlternateKey& value) { m_alternateKeysHasBeenSet = true; m_alternateKeys.push_back(value); return *this; } /** *

The alternate key definitions, if any. A legacy dataset might not have any * alternate key defined, but if those alternate keys definitions exist, provide * them as some applications will make use of them.

*/ inline VsamAttributes& AddAlternateKeys(AlternateKey&& value) { m_alternateKeysHasBeenSet = true; m_alternateKeys.push_back(std::move(value)); return *this; } /** *

Indicates whether indexes for this dataset are stored as compressed values. * If you have a large data set (typically > 100 Mb), consider setting this flag * to True.

*/ inline bool GetCompressed() const{ return m_compressed; } /** *

Indicates whether indexes for this dataset are stored as compressed values. * If you have a large data set (typically > 100 Mb), consider setting this flag * to True.

*/ inline bool CompressedHasBeenSet() const { return m_compressedHasBeenSet; } /** *

Indicates whether indexes for this dataset are stored as compressed values. * If you have a large data set (typically > 100 Mb), consider setting this flag * to True.

*/ inline void SetCompressed(bool value) { m_compressedHasBeenSet = true; m_compressed = value; } /** *

Indicates whether indexes for this dataset are stored as compressed values. * If you have a large data set (typically > 100 Mb), consider setting this flag * to True.

*/ inline VsamAttributes& WithCompressed(bool value) { SetCompressed(value); return *this;} /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline const Aws::String& GetEncoding() const{ return m_encoding; } /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline VsamAttributes& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline VsamAttributes& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} /** *

The character set used by the data set. Can be ASCII, EBCDIC, or unknown.

*/ inline VsamAttributes& WithEncoding(const char* value) { SetEncoding(value); return *this;} /** *

The record format of the data set.

*/ inline const Aws::String& GetFormat() const{ return m_format; } /** *

The record format of the data set.

*/ inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } /** *

The record format of the data set.

*/ inline void SetFormat(const Aws::String& value) { m_formatHasBeenSet = true; m_format = value; } /** *

The record format of the data set.

*/ inline void SetFormat(Aws::String&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } /** *

The record format of the data set.

*/ inline void SetFormat(const char* value) { m_formatHasBeenSet = true; m_format.assign(value); } /** *

The record format of the data set.

*/ inline VsamAttributes& WithFormat(const Aws::String& value) { SetFormat(value); return *this;} /** *

The record format of the data set.

*/ inline VsamAttributes& WithFormat(Aws::String&& value) { SetFormat(std::move(value)); return *this;} /** *

The record format of the data set.

*/ inline VsamAttributes& WithFormat(const char* value) { SetFormat(value); return *this;} /** *

The primary key of the data set.

*/ inline const PrimaryKey& GetPrimaryKey() const{ return m_primaryKey; } /** *

The primary key of the data set.

*/ inline bool PrimaryKeyHasBeenSet() const { return m_primaryKeyHasBeenSet; } /** *

The primary key of the data set.

*/ inline void SetPrimaryKey(const PrimaryKey& value) { m_primaryKeyHasBeenSet = true; m_primaryKey = value; } /** *

The primary key of the data set.

*/ inline void SetPrimaryKey(PrimaryKey&& value) { m_primaryKeyHasBeenSet = true; m_primaryKey = std::move(value); } /** *

The primary key of the data set.

*/ inline VsamAttributes& WithPrimaryKey(const PrimaryKey& value) { SetPrimaryKey(value); return *this;} /** *

The primary key of the data set.

*/ inline VsamAttributes& WithPrimaryKey(PrimaryKey&& value) { SetPrimaryKey(std::move(value)); return *this;} private: Aws::Vector m_alternateKeys; bool m_alternateKeysHasBeenSet = false; bool m_compressed; bool m_compressedHasBeenSet = false; Aws::String m_encoding; bool m_encodingHasBeenSet = false; Aws::String m_format; bool m_formatHasBeenSet = false; PrimaryKey m_primaryKey; bool m_primaryKeyHasBeenSet = false; }; } // namespace Model } // namespace MainframeModernization } // namespace Aws