/** * 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 required to delete the connection of the stream * from the Edge Agent.

See Also:

AWS * API Reference

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

The number of hours that you want to retain the data in the stream on the * Edge Agent. The default value of the retention time is 720 hours, which * translates to 30 days.

*/ inline int GetEdgeRetentionInHours() const{ return m_edgeRetentionInHours; } /** *

The number of hours that you want to retain the data in the stream on the * Edge Agent. The default value of the retention time is 720 hours, which * translates to 30 days.

*/ inline bool EdgeRetentionInHoursHasBeenSet() const { return m_edgeRetentionInHoursHasBeenSet; } /** *

The number of hours that you want to retain the data in the stream on the * Edge Agent. The default value of the retention time is 720 hours, which * translates to 30 days.

*/ inline void SetEdgeRetentionInHours(int value) { m_edgeRetentionInHoursHasBeenSet = true; m_edgeRetentionInHours = value; } /** *

The number of hours that you want to retain the data in the stream on the * Edge Agent. The default value of the retention time is 720 hours, which * translates to 30 days.

*/ inline DeletionConfig& WithEdgeRetentionInHours(int value) { SetEdgeRetentionInHours(value); return *this;} /** *

The value of the local size required in order to delete the edge * configuration.

*/ inline const LocalSizeConfig& GetLocalSizeConfig() const{ return m_localSizeConfig; } /** *

The value of the local size required in order to delete the edge * configuration.

*/ inline bool LocalSizeConfigHasBeenSet() const { return m_localSizeConfigHasBeenSet; } /** *

The value of the local size required in order to delete the edge * configuration.

*/ inline void SetLocalSizeConfig(const LocalSizeConfig& value) { m_localSizeConfigHasBeenSet = true; m_localSizeConfig = value; } /** *

The value of the local size required in order to delete the edge * configuration.

*/ inline void SetLocalSizeConfig(LocalSizeConfig&& value) { m_localSizeConfigHasBeenSet = true; m_localSizeConfig = std::move(value); } /** *

The value of the local size required in order to delete the edge * configuration.

*/ inline DeletionConfig& WithLocalSizeConfig(const LocalSizeConfig& value) { SetLocalSizeConfig(value); return *this;} /** *

The value of the local size required in order to delete the edge * configuration.

*/ inline DeletionConfig& WithLocalSizeConfig(LocalSizeConfig&& value) { SetLocalSizeConfig(std::move(value)); return *this;} /** *

The boolean value used to indicate whether or not you want to * mark the media for deletion, once it has been uploaded to the Kinesis Video * Stream cloud. The media files can be deleted if any of the deletion * configuration values are set to true, such as when the limit for * the EdgeRetentionInHours, or the * MaxLocalMediaSizeInMB, has been reached.

Since the default * value is set to true, configure the uploader schedule such that the * media files are not being deleted before they are initially uploaded to the * Amazon Web Services cloud.

*/ inline bool GetDeleteAfterUpload() const{ return m_deleteAfterUpload; } /** *

The boolean value used to indicate whether or not you want to * mark the media for deletion, once it has been uploaded to the Kinesis Video * Stream cloud. The media files can be deleted if any of the deletion * configuration values are set to true, such as when the limit for * the EdgeRetentionInHours, or the * MaxLocalMediaSizeInMB, has been reached.

Since the default * value is set to true, configure the uploader schedule such that the * media files are not being deleted before they are initially uploaded to the * Amazon Web Services cloud.

*/ inline bool DeleteAfterUploadHasBeenSet() const { return m_deleteAfterUploadHasBeenSet; } /** *

The boolean value used to indicate whether or not you want to * mark the media for deletion, once it has been uploaded to the Kinesis Video * Stream cloud. The media files can be deleted if any of the deletion * configuration values are set to true, such as when the limit for * the EdgeRetentionInHours, or the * MaxLocalMediaSizeInMB, has been reached.

Since the default * value is set to true, configure the uploader schedule such that the * media files are not being deleted before they are initially uploaded to the * Amazon Web Services cloud.

*/ inline void SetDeleteAfterUpload(bool value) { m_deleteAfterUploadHasBeenSet = true; m_deleteAfterUpload = value; } /** *

The boolean value used to indicate whether or not you want to * mark the media for deletion, once it has been uploaded to the Kinesis Video * Stream cloud. The media files can be deleted if any of the deletion * configuration values are set to true, such as when the limit for * the EdgeRetentionInHours, or the * MaxLocalMediaSizeInMB, has been reached.

Since the default * value is set to true, configure the uploader schedule such that the * media files are not being deleted before they are initially uploaded to the * Amazon Web Services cloud.

*/ inline DeletionConfig& WithDeleteAfterUpload(bool value) { SetDeleteAfterUpload(value); return *this;} private: int m_edgeRetentionInHours; bool m_edgeRetentionInHoursHasBeenSet = false; LocalSizeConfig m_localSizeConfig; bool m_localSizeConfigHasBeenSet = false; bool m_deleteAfterUpload; bool m_deleteAfterUploadHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideo } // namespace Aws