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

A description of the stream's edge configuration that will be used to sync * with the Edge Agent IoT Greengrass component. The Edge Agent component will run * on an IoT Hub Device setup at your premise.

See Also:

AWS * API Reference

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

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline const Aws::String& GetHubDeviceArn() const{ return m_hubDeviceArn; } /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline bool HubDeviceArnHasBeenSet() const { return m_hubDeviceArnHasBeenSet; } /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline void SetHubDeviceArn(const Aws::String& value) { m_hubDeviceArnHasBeenSet = true; m_hubDeviceArn = value; } /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline void SetHubDeviceArn(Aws::String&& value) { m_hubDeviceArnHasBeenSet = true; m_hubDeviceArn = std::move(value); } /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline void SetHubDeviceArn(const char* value) { m_hubDeviceArnHasBeenSet = true; m_hubDeviceArn.assign(value); } /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline EdgeConfig& WithHubDeviceArn(const Aws::String& value) { SetHubDeviceArn(value); return *this;} /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline EdgeConfig& WithHubDeviceArn(Aws::String&& value) { SetHubDeviceArn(std::move(value)); return *this;} /** *

The "Internet of Things (IoT) Thing" Arn of the stream.

*/ inline EdgeConfig& WithHubDeviceArn(const char* value) { SetHubDeviceArn(value); return *this;} /** *

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

*/ inline const RecorderConfig& GetRecorderConfig() const{ return m_recorderConfig; } /** *

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

*/ inline bool RecorderConfigHasBeenSet() const { return m_recorderConfigHasBeenSet; } /** *

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

*/ inline void SetRecorderConfig(const RecorderConfig& value) { m_recorderConfigHasBeenSet = true; m_recorderConfig = value; } /** *

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

*/ inline void SetRecorderConfig(RecorderConfig&& value) { m_recorderConfigHasBeenSet = true; m_recorderConfig = std::move(value); } /** *

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

*/ inline EdgeConfig& WithRecorderConfig(const RecorderConfig& value) { SetRecorderConfig(value); return *this;} /** *

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

*/ inline EdgeConfig& WithRecorderConfig(RecorderConfig&& value) { SetRecorderConfig(std::move(value)); return *this;} /** *

The uploader configuration contains the ScheduleExpression * details that are used to schedule upload jobs for the recorded media files from * the Edge Agent to a Kinesis Video Stream.

*/ inline const UploaderConfig& GetUploaderConfig() const{ return m_uploaderConfig; } /** *

The uploader configuration contains the ScheduleExpression * details that are used to schedule upload jobs for the recorded media files from * the Edge Agent to a Kinesis Video Stream.

*/ inline bool UploaderConfigHasBeenSet() const { return m_uploaderConfigHasBeenSet; } /** *

The uploader configuration contains the ScheduleExpression * details that are used to schedule upload jobs for the recorded media files from * the Edge Agent to a Kinesis Video Stream.

*/ inline void SetUploaderConfig(const UploaderConfig& value) { m_uploaderConfigHasBeenSet = true; m_uploaderConfig = value; } /** *

The uploader configuration contains the ScheduleExpression * details that are used to schedule upload jobs for the recorded media files from * the Edge Agent to a Kinesis Video Stream.

*/ inline void SetUploaderConfig(UploaderConfig&& value) { m_uploaderConfigHasBeenSet = true; m_uploaderConfig = std::move(value); } /** *

The uploader configuration contains the ScheduleExpression * details that are used to schedule upload jobs for the recorded media files from * the Edge Agent to a Kinesis Video Stream.

*/ inline EdgeConfig& WithUploaderConfig(const UploaderConfig& value) { SetUploaderConfig(value); return *this;} /** *

The uploader configuration contains the ScheduleExpression * details that are used to schedule upload jobs for the recorded media files from * the Edge Agent to a Kinesis Video Stream.

*/ inline EdgeConfig& WithUploaderConfig(UploaderConfig&& value) { SetUploaderConfig(std::move(value)); return *this;} /** *

The deletion configuration is made up of the retention time * (EdgeRetentionInHours) and local size configuration * (LocalSizeConfig) details that are used to make the deletion.

*/ inline const DeletionConfig& GetDeletionConfig() const{ return m_deletionConfig; } /** *

The deletion configuration is made up of the retention time * (EdgeRetentionInHours) and local size configuration * (LocalSizeConfig) details that are used to make the deletion.

*/ inline bool DeletionConfigHasBeenSet() const { return m_deletionConfigHasBeenSet; } /** *

The deletion configuration is made up of the retention time * (EdgeRetentionInHours) and local size configuration * (LocalSizeConfig) details that are used to make the deletion.

*/ inline void SetDeletionConfig(const DeletionConfig& value) { m_deletionConfigHasBeenSet = true; m_deletionConfig = value; } /** *

The deletion configuration is made up of the retention time * (EdgeRetentionInHours) and local size configuration * (LocalSizeConfig) details that are used to make the deletion.

*/ inline void SetDeletionConfig(DeletionConfig&& value) { m_deletionConfigHasBeenSet = true; m_deletionConfig = std::move(value); } /** *

The deletion configuration is made up of the retention time * (EdgeRetentionInHours) and local size configuration * (LocalSizeConfig) details that are used to make the deletion.

*/ inline EdgeConfig& WithDeletionConfig(const DeletionConfig& value) { SetDeletionConfig(value); return *this;} /** *

The deletion configuration is made up of the retention time * (EdgeRetentionInHours) and local size configuration * (LocalSizeConfig) details that are used to make the deletion.

*/ inline EdgeConfig& WithDeletionConfig(DeletionConfig&& value) { SetDeletionConfig(std::move(value)); return *this;} private: Aws::String m_hubDeviceArn; bool m_hubDeviceArnHasBeenSet = false; RecorderConfig m_recorderConfig; bool m_recorderConfigHasBeenSet = false; UploaderConfig m_uploaderConfig; bool m_uploaderConfigHasBeenSet = false; DeletionConfig m_deletionConfig; bool m_deletionConfigHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideo } // namespace Aws