/** * 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 DatasetDetailOrgAttributes { public: AWS_MAINFRAMEMODERNIZATION_API DatasetDetailOrgAttributes(); AWS_MAINFRAMEMODERNIZATION_API DatasetDetailOrgAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_MAINFRAMEMODERNIZATION_API DatasetDetailOrgAttributes& 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 GdgDetailAttributes& 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 GdgDetailAttributes& value) { m_gdgHasBeenSet = true; m_gdg = value; } /** *

The generation data group of the data set.

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

The generation data group of the data set.

*/ inline DatasetDetailOrgAttributes& WithGdg(const GdgDetailAttributes& value) { SetGdg(value); return *this;} /** *

The generation data group of the data set.

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

The details of a PO type data set.

*/ inline const PoDetailAttributes& 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 PoDetailAttributes& value) { m_poHasBeenSet = true; m_po = value; } /** *

The details of a PO type data set.

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

The details of a PO type data set.

*/ inline DatasetDetailOrgAttributes& WithPo(const PoDetailAttributes& value) { SetPo(value); return *this;} /** *

The details of a PO type data set.

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

The details of a PS type data set.

*/ inline const PsDetailAttributes& 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 PsDetailAttributes& value) { m_psHasBeenSet = true; m_ps = value; } /** *

The details of a PS type data set.

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

The details of a PS type data set.

*/ inline DatasetDetailOrgAttributes& WithPs(const PsDetailAttributes& value) { SetPs(value); return *this;} /** *

The details of a PS type data set.

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

The details of a VSAM data set.

*/ inline const VsamDetailAttributes& 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 VsamDetailAttributes& value) { m_vsamHasBeenSet = true; m_vsam = value; } /** *

The details of a VSAM data set.

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

The details of a VSAM data set.

*/ inline DatasetDetailOrgAttributes& WithVsam(const VsamDetailAttributes& value) { SetVsam(value); return *this;} /** *

The details of a VSAM data set.

*/ inline DatasetDetailOrgAttributes& WithVsam(VsamDetailAttributes&& value) { SetVsam(std::move(value)); return *this;} private: GdgDetailAttributes m_gdg; bool m_gdgHasBeenSet = false; PoDetailAttributes m_po; bool m_poHasBeenSet = false; PsDetailAttributes m_ps; bool m_psHasBeenSet = false; VsamDetailAttributes m_vsam; bool m_vsamHasBeenSet = false; }; } // namespace Model } // namespace MainframeModernization } // namespace Aws