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

Allows you to configure a time window during which EventBridge Scheduler * invokes the schedule.

See Also:

AWS * API Reference

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

The maximum time window during which a schedule can be invoked.

*/ inline int GetMaximumWindowInMinutes() const{ return m_maximumWindowInMinutes; } /** *

The maximum time window during which a schedule can be invoked.

*/ inline bool MaximumWindowInMinutesHasBeenSet() const { return m_maximumWindowInMinutesHasBeenSet; } /** *

The maximum time window during which a schedule can be invoked.

*/ inline void SetMaximumWindowInMinutes(int value) { m_maximumWindowInMinutesHasBeenSet = true; m_maximumWindowInMinutes = value; } /** *

The maximum time window during which a schedule can be invoked.

*/ inline FlexibleTimeWindow& WithMaximumWindowInMinutes(int value) { SetMaximumWindowInMinutes(value); return *this;} /** *

Determines whether the schedule is invoked within a flexible time window.

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

Determines whether the schedule is invoked within a flexible time window.

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

Determines whether the schedule is invoked within a flexible time window.

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

Determines whether the schedule is invoked within a flexible time window.

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

Determines whether the schedule is invoked within a flexible time window.

*/ inline FlexibleTimeWindow& WithMode(const FlexibleTimeWindowMode& value) { SetMode(value); return *this;} /** *

Determines whether the schedule is invoked within a flexible time window.

*/ inline FlexibleTimeWindow& WithMode(FlexibleTimeWindowMode&& value) { SetMode(std::move(value)); return *this;} private: int m_maximumWindowInMinutes; bool m_maximumWindowInMinutesHasBeenSet = false; FlexibleTimeWindowMode m_mode; bool m_modeHasBeenSet = false; }; } // namespace Model } // namespace Scheduler } // namespace Aws