/** * 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 Connect { namespace Model { /** *

Configuration information of a Kinesis video stream.

See Also:

* AWS * API Reference

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

The prefix of the video stream.

*/ inline const Aws::String& GetPrefix() const{ return m_prefix; } /** *

The prefix of the video stream.

*/ inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } /** *

The prefix of the video stream.

*/ inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } /** *

The prefix of the video stream.

*/ inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } /** *

The prefix of the video stream.

*/ inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } /** *

The prefix of the video stream.

*/ inline KinesisVideoStreamConfig& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} /** *

The prefix of the video stream.

*/ inline KinesisVideoStreamConfig& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} /** *

The prefix of the video stream.

*/ inline KinesisVideoStreamConfig& WithPrefix(const char* value) { SetPrefix(value); return *this;} /** *

The number of hours data is retained in the stream. Kinesis Video Streams * retains the data in a data store that is associated with the stream.

The * default value is 0, indicating that the stream does not persist data.

*/ inline int GetRetentionPeriodHours() const{ return m_retentionPeriodHours; } /** *

The number of hours data is retained in the stream. Kinesis Video Streams * retains the data in a data store that is associated with the stream.

The * default value is 0, indicating that the stream does not persist data.

*/ inline bool RetentionPeriodHoursHasBeenSet() const { return m_retentionPeriodHoursHasBeenSet; } /** *

The number of hours data is retained in the stream. Kinesis Video Streams * retains the data in a data store that is associated with the stream.

The * default value is 0, indicating that the stream does not persist data.

*/ inline void SetRetentionPeriodHours(int value) { m_retentionPeriodHoursHasBeenSet = true; m_retentionPeriodHours = value; } /** *

The number of hours data is retained in the stream. Kinesis Video Streams * retains the data in a data store that is associated with the stream.

The * default value is 0, indicating that the stream does not persist data.

*/ inline KinesisVideoStreamConfig& WithRetentionPeriodHours(int value) { SetRetentionPeriodHours(value); return *this;} /** *

The encryption configuration.

*/ inline const EncryptionConfig& GetEncryptionConfig() const{ return m_encryptionConfig; } /** *

The encryption configuration.

*/ inline bool EncryptionConfigHasBeenSet() const { return m_encryptionConfigHasBeenSet; } /** *

The encryption configuration.

*/ inline void SetEncryptionConfig(const EncryptionConfig& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = value; } /** *

The encryption configuration.

*/ inline void SetEncryptionConfig(EncryptionConfig&& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = std::move(value); } /** *

The encryption configuration.

*/ inline KinesisVideoStreamConfig& WithEncryptionConfig(const EncryptionConfig& value) { SetEncryptionConfig(value); return *this;} /** *

The encryption configuration.

*/ inline KinesisVideoStreamConfig& WithEncryptionConfig(EncryptionConfig&& value) { SetEncryptionConfig(std::move(value)); return *this;} private: Aws::String m_prefix; bool m_prefixHasBeenSet = false; int m_retentionPeriodHours; bool m_retentionPeriodHoursHasBeenSet = false; EncryptionConfig m_encryptionConfig; bool m_encryptionConfigHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws