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

The configuration details that include the maximum size of the media * (MaxLocalMediaSizeInMB) that you want to store for a stream on the * Edge Agent, as well as the strategy that should be used * (StrategyOnFullSize) when a stream's maximum size has been * reached.

See Also:

AWS * API Reference

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

The overall maximum size of the media that you want to store for a stream on * the Edge Agent.

*/ inline int GetMaxLocalMediaSizeInMB() const{ return m_maxLocalMediaSizeInMB; } /** *

The overall maximum size of the media that you want to store for a stream on * the Edge Agent.

*/ inline bool MaxLocalMediaSizeInMBHasBeenSet() const { return m_maxLocalMediaSizeInMBHasBeenSet; } /** *

The overall maximum size of the media that you want to store for a stream on * the Edge Agent.

*/ inline void SetMaxLocalMediaSizeInMB(int value) { m_maxLocalMediaSizeInMBHasBeenSet = true; m_maxLocalMediaSizeInMB = value; } /** *

The overall maximum size of the media that you want to store for a stream on * the Edge Agent.

*/ inline LocalSizeConfig& WithMaxLocalMediaSizeInMB(int value) { SetMaxLocalMediaSizeInMB(value); return *this;} /** *

The strategy to perform when a stream’s MaxLocalMediaSizeInMB * limit is reached.

*/ inline const StrategyOnFullSize& GetStrategyOnFullSize() const{ return m_strategyOnFullSize; } /** *

The strategy to perform when a stream’s MaxLocalMediaSizeInMB * limit is reached.

*/ inline bool StrategyOnFullSizeHasBeenSet() const { return m_strategyOnFullSizeHasBeenSet; } /** *

The strategy to perform when a stream’s MaxLocalMediaSizeInMB * limit is reached.

*/ inline void SetStrategyOnFullSize(const StrategyOnFullSize& value) { m_strategyOnFullSizeHasBeenSet = true; m_strategyOnFullSize = value; } /** *

The strategy to perform when a stream’s MaxLocalMediaSizeInMB * limit is reached.

*/ inline void SetStrategyOnFullSize(StrategyOnFullSize&& value) { m_strategyOnFullSizeHasBeenSet = true; m_strategyOnFullSize = std::move(value); } /** *

The strategy to perform when a stream’s MaxLocalMediaSizeInMB * limit is reached.

*/ inline LocalSizeConfig& WithStrategyOnFullSize(const StrategyOnFullSize& value) { SetStrategyOnFullSize(value); return *this;} /** *

The strategy to perform when a stream’s MaxLocalMediaSizeInMB * limit is reached.

*/ inline LocalSizeConfig& WithStrategyOnFullSize(StrategyOnFullSize&& value) { SetStrategyOnFullSize(std::move(value)); return *this;} private: int m_maxLocalMediaSizeInMB; bool m_maxLocalMediaSizeInMBHasBeenSet = false; StrategyOnFullSize m_strategyOnFullSize; bool m_strategyOnFullSizeHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideo } // namespace Aws