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

Custom volume configuration for the root volumes that are attached to * streaming sessions.

This parameter is only allowed when * sessionPersistenceMode is ACTIVATED.

See * Also:

AWS * API Reference

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

The number of I/O operations per second for the root volume that is attached * to streaming session.

*/ inline int GetIops() const{ return m_iops; } /** *

The number of I/O operations per second for the root volume that is attached * to streaming session.

*/ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** *

The number of I/O operations per second for the root volume that is attached * to streaming session.

*/ inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } /** *

The number of I/O operations per second for the root volume that is attached * to streaming session.

*/ inline VolumeConfiguration& WithIops(int value) { SetIops(value); return *this;} /** *

The size of the root volume that is attached to the streaming session. The * root volume size is measured in GiBs.

*/ inline int GetSize() const{ return m_size; } /** *

The size of the root volume that is attached to the streaming session. The * root volume size is measured in GiBs.

*/ inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } /** *

The size of the root volume that is attached to the streaming session. The * root volume size is measured in GiBs.

*/ inline void SetSize(int value) { m_sizeHasBeenSet = true; m_size = value; } /** *

The size of the root volume that is attached to the streaming session. The * root volume size is measured in GiBs.

*/ inline VolumeConfiguration& WithSize(int value) { SetSize(value); return *this;} /** *

The throughput to provision for the root volume that is attached to the * streaming session. The throughput is measured in MiB/s.

*/ inline int GetThroughput() const{ return m_throughput; } /** *

The throughput to provision for the root volume that is attached to the * streaming session. The throughput is measured in MiB/s.

*/ inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } /** *

The throughput to provision for the root volume that is attached to the * streaming session. The throughput is measured in MiB/s.

*/ inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; } /** *

The throughput to provision for the root volume that is attached to the * streaming session. The throughput is measured in MiB/s.

*/ inline VolumeConfiguration& WithThroughput(int value) { SetThroughput(value); return *this;} private: int m_iops; bool m_iopsHasBeenSet = false; int m_size; bool m_sizeHasBeenSet = false; int m_throughput; bool m_throughputHasBeenSet = false; }; } // namespace Model } // namespace NimbleStudio } // namespace Aws