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

The recorder configuration consists of the local * MediaSourceConfig details that are used as credentials to accesss * the local media files streamed on the camera.

See Also:

AWS * API Reference

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

The configuration details that consist of the credentials required * (MediaUriSecretArn and MediaUriType) to access the * media files streamed to the camera.

*/ inline const MediaSourceConfig& GetMediaSourceConfig() const{ return m_mediaSourceConfig; } /** *

The configuration details that consist of the credentials required * (MediaUriSecretArn and MediaUriType) to access the * media files streamed to the camera.

*/ inline bool MediaSourceConfigHasBeenSet() const { return m_mediaSourceConfigHasBeenSet; } /** *

The configuration details that consist of the credentials required * (MediaUriSecretArn and MediaUriType) to access the * media files streamed to the camera.

*/ inline void SetMediaSourceConfig(const MediaSourceConfig& value) { m_mediaSourceConfigHasBeenSet = true; m_mediaSourceConfig = value; } /** *

The configuration details that consist of the credentials required * (MediaUriSecretArn and MediaUriType) to access the * media files streamed to the camera.

*/ inline void SetMediaSourceConfig(MediaSourceConfig&& value) { m_mediaSourceConfigHasBeenSet = true; m_mediaSourceConfig = std::move(value); } /** *

The configuration details that consist of the credentials required * (MediaUriSecretArn and MediaUriType) to access the * media files streamed to the camera.

*/ inline RecorderConfig& WithMediaSourceConfig(const MediaSourceConfig& value) { SetMediaSourceConfig(value); return *this;} /** *

The configuration details that consist of the credentials required * (MediaUriSecretArn and MediaUriType) to access the * media files streamed to the camera.

*/ inline RecorderConfig& WithMediaSourceConfig(MediaSourceConfig&& value) { SetMediaSourceConfig(std::move(value)); return *this;} /** *

The configuration that consists of the ScheduleExpression and * the DurationInMinutes details that specify the scheduling to record * from a camera, or local media file, onto the Edge Agent. If the * ScheduleExpression attribute is not provided, then the Edge Agent * will always be set to recording mode.

*/ inline const ScheduleConfig& GetScheduleConfig() const{ return m_scheduleConfig; } /** *

The configuration that consists of the ScheduleExpression and * the DurationInMinutes details that specify the scheduling to record * from a camera, or local media file, onto the Edge Agent. If the * ScheduleExpression attribute is not provided, then the Edge Agent * will always be set to recording mode.

*/ inline bool ScheduleConfigHasBeenSet() const { return m_scheduleConfigHasBeenSet; } /** *

The configuration that consists of the ScheduleExpression and * the DurationInMinutes details that specify the scheduling to record * from a camera, or local media file, onto the Edge Agent. If the * ScheduleExpression attribute is not provided, then the Edge Agent * will always be set to recording mode.

*/ inline void SetScheduleConfig(const ScheduleConfig& value) { m_scheduleConfigHasBeenSet = true; m_scheduleConfig = value; } /** *

The configuration that consists of the ScheduleExpression and * the DurationInMinutes details that specify the scheduling to record * from a camera, or local media file, onto the Edge Agent. If the * ScheduleExpression attribute is not provided, then the Edge Agent * will always be set to recording mode.

*/ inline void SetScheduleConfig(ScheduleConfig&& value) { m_scheduleConfigHasBeenSet = true; m_scheduleConfig = std::move(value); } /** *

The configuration that consists of the ScheduleExpression and * the DurationInMinutes details that specify the scheduling to record * from a camera, or local media file, onto the Edge Agent. If the * ScheduleExpression attribute is not provided, then the Edge Agent * will always be set to recording mode.

*/ inline RecorderConfig& WithScheduleConfig(const ScheduleConfig& value) { SetScheduleConfig(value); return *this;} /** *

The configuration that consists of the ScheduleExpression and * the DurationInMinutes details that specify the scheduling to record * from a camera, or local media file, onto the Edge Agent. If the * ScheduleExpression attribute is not provided, then the Edge Agent * will always be set to recording mode.

*/ inline RecorderConfig& WithScheduleConfig(ScheduleConfig&& value) { SetScheduleConfig(std::move(value)); return *this;} private: MediaSourceConfig m_mediaSourceConfig; bool m_mediaSourceConfigHasBeenSet = false; ScheduleConfig m_scheduleConfig; bool m_scheduleConfigHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideo } // namespace Aws