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

Configures how streaming sessions are backed up when launched from this * launch profile.

See Also:

AWS * API Reference

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

The maximum number of backups that each streaming session created from this * launch profile can have.

*/ inline int GetMaxBackupsToRetain() const{ return m_maxBackupsToRetain; } /** *

The maximum number of backups that each streaming session created from this * launch profile can have.

*/ inline bool MaxBackupsToRetainHasBeenSet() const { return m_maxBackupsToRetainHasBeenSet; } /** *

The maximum number of backups that each streaming session created from this * launch profile can have.

*/ inline void SetMaxBackupsToRetain(int value) { m_maxBackupsToRetainHasBeenSet = true; m_maxBackupsToRetain = value; } /** *

The maximum number of backups that each streaming session created from this * launch profile can have.

*/ inline StreamConfigurationSessionBackup& WithMaxBackupsToRetain(int value) { SetMaxBackupsToRetain(value); return *this;} /** *

Specifies how artists sessions are backed up.

Configures backups for * streaming sessions launched with this launch profile. The default value is * DEACTIVATED, which means that backups are deactivated. To allow * backups, set this value to AUTOMATIC.

*/ inline const SessionBackupMode& GetMode() const{ return m_mode; } /** *

Specifies how artists sessions are backed up.

Configures backups for * streaming sessions launched with this launch profile. The default value is * DEACTIVATED, which means that backups are deactivated. To allow * backups, set this value to AUTOMATIC.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

Specifies how artists sessions are backed up.

Configures backups for * streaming sessions launched with this launch profile. The default value is * DEACTIVATED, which means that backups are deactivated. To allow * backups, set this value to AUTOMATIC.

*/ inline void SetMode(const SessionBackupMode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

Specifies how artists sessions are backed up.

Configures backups for * streaming sessions launched with this launch profile. The default value is * DEACTIVATED, which means that backups are deactivated. To allow * backups, set this value to AUTOMATIC.

*/ inline void SetMode(SessionBackupMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

Specifies how artists sessions are backed up.

Configures backups for * streaming sessions launched with this launch profile. The default value is * DEACTIVATED, which means that backups are deactivated. To allow * backups, set this value to AUTOMATIC.

*/ inline StreamConfigurationSessionBackup& WithMode(const SessionBackupMode& value) { SetMode(value); return *this;} /** *

Specifies how artists sessions are backed up.

Configures backups for * streaming sessions launched with this launch profile. The default value is * DEACTIVATED, which means that backups are deactivated. To allow * backups, set this value to AUTOMATIC.

*/ inline StreamConfigurationSessionBackup& WithMode(SessionBackupMode&& value) { SetMode(std::move(value)); return *this;} private: int m_maxBackupsToRetain; bool m_maxBackupsToRetainHasBeenSet = false; SessionBackupMode m_mode; bool m_modeHasBeenSet = false; }; } // namespace Model } // namespace NimbleStudio } // namespace Aws