/** * 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 { /** *

Additional details about the data set. Different attributes correspond to * different data set organizations. The values are populated based on datasetOrg, * storageType and backend (Blu Age or Micro Focus).

See Also:

AWS * API Reference

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

The generation data group of the data set.

*/ inline const GdgAttributes& GetGdg() const{ return m_gdg; } /** *

The generation data group of the data set.

*/ inline bool GdgHasBeenSet() const { return m_gdgHasBeenSet; } /** *

The generation data group of the data set.

*/ inline void SetGdg(const GdgAttributes& value) { m_gdgHasBeenSet = true; m_gdg = value; } /** *

The generation data group of the data set.

*/ inline void SetGdg(GdgAttributes&& value) { m_gdgHasBeenSet = true; m_gdg = std::move(value); } /** *

The generation data group of the data set.

*/ inline DatasetOrgAttributes& WithGdg(const GdgAttributes& value) { SetGdg(value); return *this;} /** *

The generation data group of the data set.

*/ inline DatasetOrgAttributes& WithGdg(GdgAttributes&& value) { SetGdg(std::move(value)); return *this;} /** *

The details of a PO type data set.

*/ inline const PoAttributes& GetPo() const{ return m_po; } /** *

The details of a PO type data set.

*/ inline bool PoHasBeenSet() const { return m_poHasBeenSet; } /** *

The details of a PO type data set.

*/ inline void SetPo(const PoAttributes& value) { m_poHasBeenSet = true; m_po = value; } /** *

The details of a PO type data set.

*/ inline void SetPo(PoAttributes&& value) { m_poHasBeenSet = true; m_po = std::move(value); } /** *

The details of a PO type data set.

*/ inline DatasetOrgAttributes& WithPo(const PoAttributes& value) { SetPo(value); return *this;} /** *

The details of a PO type data set.

*/ inline DatasetOrgAttributes& WithPo(PoAttributes&& value) { SetPo(std::move(value)); return *this;} /** *

The details of a PS type data set.

*/ inline const PsAttributes& GetPs() const{ return m_ps; } /** *

The details of a PS type data set.

*/ inline bool PsHasBeenSet() const { return m_psHasBeenSet; } /** *

The details of a PS type data set.

*/ inline void SetPs(const PsAttributes& value) { m_psHasBeenSet = true; m_ps = value; } /** *

The details of a PS type data set.

*/ inline void SetPs(PsAttributes&& value) { m_psHasBeenSet = true; m_ps = std::move(value); } /** *

The details of a PS type data set.

*/ inline DatasetOrgAttributes& WithPs(const PsAttributes& value) { SetPs(value); return *this;} /** *

The details of a PS type data set.

*/ inline DatasetOrgAttributes& WithPs(PsAttributes&& value) { SetPs(std::move(value)); return *this;} /** *

The details of a VSAM data set.

*/ inline const VsamAttributes& GetVsam() const{ return m_vsam; } /** *

The details of a VSAM data set.

*/ inline bool VsamHasBeenSet() const { return m_vsamHasBeenSet; } /** *

The details of a VSAM data set.

*/ inline void SetVsam(const VsamAttributes& value) { m_vsamHasBeenSet = true; m_vsam = value; } /** *

The details of a VSAM data set.

*/ inline void SetVsam(VsamAttributes&& value) { m_vsamHasBeenSet = true; m_vsam = std::move(value); } /** *

The details of a VSAM data set.

*/ inline DatasetOrgAttributes& WithVsam(const VsamAttributes& value) { SetVsam(value); return *this;} /** *

The details of a VSAM data set.

*/ inline DatasetOrgAttributes& WithVsam(VsamAttributes&& value) { SetVsam(std::move(value)); return *this;} private: GdgAttributes m_gdg; bool m_gdgHasBeenSet = false; PoAttributes m_po; bool m_poHasBeenSet = false; PsAttributes m_ps; bool m_psHasBeenSet = false; VsamAttributes m_vsam; bool m_vsamHasBeenSet = false; }; } // namespace Model } // namespace MainframeModernization } // namespace Aws