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

Schedule configuration parameters. A channel must be stopped before changes * can be made to the schedule.

See Also:

AWS * API Reference

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

Program clip range configuration.

*/ inline const ClipRange& GetClipRange() const{ return m_clipRange; } /** *

Program clip range configuration.

*/ inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } /** *

Program clip range configuration.

*/ inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } /** *

Program clip range configuration.

*/ inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } /** *

Program clip range configuration.

*/ inline ScheduleConfiguration& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} /** *

Program clip range configuration.

*/ inline ScheduleConfiguration& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} /** *

Program transition configurations.

*/ inline const Transition& GetTransition() const{ return m_transition; } /** *

Program transition configurations.

*/ inline bool TransitionHasBeenSet() const { return m_transitionHasBeenSet; } /** *

Program transition configurations.

*/ inline void SetTransition(const Transition& value) { m_transitionHasBeenSet = true; m_transition = value; } /** *

Program transition configurations.

*/ inline void SetTransition(Transition&& value) { m_transitionHasBeenSet = true; m_transition = std::move(value); } /** *

Program transition configurations.

*/ inline ScheduleConfiguration& WithTransition(const Transition& value) { SetTransition(value); return *this;} /** *

Program transition configurations.

*/ inline ScheduleConfiguration& WithTransition(Transition&& value) { SetTransition(std::move(value)); return *this;} private: ClipRange m_clipRange; bool m_clipRangeHasBeenSet = false; Transition m_transition; bool m_transitionHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws