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

Defines the storage configuration for a runtime environment.

See * Also:

AWS * API Reference

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

Defines the storage configuration for an Amazon EFS file system.

*/ inline const EfsStorageConfiguration& GetEfs() const{ return m_efs; } /** *

Defines the storage configuration for an Amazon EFS file system.

*/ inline bool EfsHasBeenSet() const { return m_efsHasBeenSet; } /** *

Defines the storage configuration for an Amazon EFS file system.

*/ inline void SetEfs(const EfsStorageConfiguration& value) { m_efsHasBeenSet = true; m_efs = value; } /** *

Defines the storage configuration for an Amazon EFS file system.

*/ inline void SetEfs(EfsStorageConfiguration&& value) { m_efsHasBeenSet = true; m_efs = std::move(value); } /** *

Defines the storage configuration for an Amazon EFS file system.

*/ inline StorageConfiguration& WithEfs(const EfsStorageConfiguration& value) { SetEfs(value); return *this;} /** *

Defines the storage configuration for an Amazon EFS file system.

*/ inline StorageConfiguration& WithEfs(EfsStorageConfiguration&& value) { SetEfs(std::move(value)); return *this;} /** *

Defines the storage configuration for an Amazon FSx file system.

*/ inline const FsxStorageConfiguration& GetFsx() const{ return m_fsx; } /** *

Defines the storage configuration for an Amazon FSx file system.

*/ inline bool FsxHasBeenSet() const { return m_fsxHasBeenSet; } /** *

Defines the storage configuration for an Amazon FSx file system.

*/ inline void SetFsx(const FsxStorageConfiguration& value) { m_fsxHasBeenSet = true; m_fsx = value; } /** *

Defines the storage configuration for an Amazon FSx file system.

*/ inline void SetFsx(FsxStorageConfiguration&& value) { m_fsxHasBeenSet = true; m_fsx = std::move(value); } /** *

Defines the storage configuration for an Amazon FSx file system.

*/ inline StorageConfiguration& WithFsx(const FsxStorageConfiguration& value) { SetFsx(value); return *this;} /** *

Defines the storage configuration for an Amazon FSx file system.

*/ inline StorageConfiguration& WithFsx(FsxStorageConfiguration&& value) { SetFsx(std::move(value)); return *this;} private: EfsStorageConfiguration m_efs; bool m_efsHasBeenSet = false; FsxStorageConfiguration m_fsx; bool m_fsxHasBeenSet = false; }; } // namespace Model } // namespace MainframeModernization } // namespace Aws