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

A structure that represents a topic refresh schedule.

See * Also:

AWS * API Reference

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

A Boolean value that controls whether to schedule is enabled.

*/ inline bool GetIsEnabled() const{ return m_isEnabled; } /** *

A Boolean value that controls whether to schedule is enabled.

*/ inline bool IsEnabledHasBeenSet() const { return m_isEnabledHasBeenSet; } /** *

A Boolean value that controls whether to schedule is enabled.

*/ inline void SetIsEnabled(bool value) { m_isEnabledHasBeenSet = true; m_isEnabled = value; } /** *

A Boolean value that controls whether to schedule is enabled.

*/ inline TopicRefreshSchedule& WithIsEnabled(bool value) { SetIsEnabled(value); return *this;} /** *

A Boolean value that controls whether to schedule runs at the same schedule * that is specified in SPICE dataset.

*/ inline bool GetBasedOnSpiceSchedule() const{ return m_basedOnSpiceSchedule; } /** *

A Boolean value that controls whether to schedule runs at the same schedule * that is specified in SPICE dataset.

*/ inline bool BasedOnSpiceScheduleHasBeenSet() const { return m_basedOnSpiceScheduleHasBeenSet; } /** *

A Boolean value that controls whether to schedule runs at the same schedule * that is specified in SPICE dataset.

*/ inline void SetBasedOnSpiceSchedule(bool value) { m_basedOnSpiceScheduleHasBeenSet = true; m_basedOnSpiceSchedule = value; } /** *

A Boolean value that controls whether to schedule runs at the same schedule * that is specified in SPICE dataset.

*/ inline TopicRefreshSchedule& WithBasedOnSpiceSchedule(bool value) { SetBasedOnSpiceSchedule(value); return *this;} /** *

The starting date and time for the refresh schedule.

*/ inline const Aws::Utils::DateTime& GetStartingAt() const{ return m_startingAt; } /** *

The starting date and time for the refresh schedule.

*/ inline bool StartingAtHasBeenSet() const { return m_startingAtHasBeenSet; } /** *

The starting date and time for the refresh schedule.

*/ inline void SetStartingAt(const Aws::Utils::DateTime& value) { m_startingAtHasBeenSet = true; m_startingAt = value; } /** *

The starting date and time for the refresh schedule.

*/ inline void SetStartingAt(Aws::Utils::DateTime&& value) { m_startingAtHasBeenSet = true; m_startingAt = std::move(value); } /** *

The starting date and time for the refresh schedule.

*/ inline TopicRefreshSchedule& WithStartingAt(const Aws::Utils::DateTime& value) { SetStartingAt(value); return *this;} /** *

The starting date and time for the refresh schedule.

*/ inline TopicRefreshSchedule& WithStartingAt(Aws::Utils::DateTime&& value) { SetStartingAt(std::move(value)); return *this;} /** *

The timezone that you want the refresh schedule to use.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

The timezone that you want the refresh schedule to use.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

The timezone that you want the refresh schedule to use.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

The timezone that you want the refresh schedule to use.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

The timezone that you want the refresh schedule to use.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

The timezone that you want the refresh schedule to use.

*/ inline TopicRefreshSchedule& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

The timezone that you want the refresh schedule to use.

*/ inline TopicRefreshSchedule& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

The timezone that you want the refresh schedule to use.

*/ inline TopicRefreshSchedule& WithTimezone(const char* value) { SetTimezone(value); return *this;} /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline const Aws::String& GetRepeatAt() const{ return m_repeatAt; } /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline bool RepeatAtHasBeenSet() const { return m_repeatAtHasBeenSet; } /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline void SetRepeatAt(const Aws::String& value) { m_repeatAtHasBeenSet = true; m_repeatAt = value; } /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline void SetRepeatAt(Aws::String&& value) { m_repeatAtHasBeenSet = true; m_repeatAt = std::move(value); } /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline void SetRepeatAt(const char* value) { m_repeatAtHasBeenSet = true; m_repeatAt.assign(value); } /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline TopicRefreshSchedule& WithRepeatAt(const Aws::String& value) { SetRepeatAt(value); return *this;} /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline TopicRefreshSchedule& WithRepeatAt(Aws::String&& value) { SetRepeatAt(std::move(value)); return *this;} /** *

The time of day when the refresh should run, for example, Monday-Sunday.

*/ inline TopicRefreshSchedule& WithRepeatAt(const char* value) { SetRepeatAt(value); return *this;} /** *

The type of refresh schedule. Valid values for this structure are * HOURLY, DAILY, WEEKLY, and * MONTHLY.

*/ inline const TopicScheduleType& GetTopicScheduleType() const{ return m_topicScheduleType; } /** *

The type of refresh schedule. Valid values for this structure are * HOURLY, DAILY, WEEKLY, and * MONTHLY.

*/ inline bool TopicScheduleTypeHasBeenSet() const { return m_topicScheduleTypeHasBeenSet; } /** *

The type of refresh schedule. Valid values for this structure are * HOURLY, DAILY, WEEKLY, and * MONTHLY.

*/ inline void SetTopicScheduleType(const TopicScheduleType& value) { m_topicScheduleTypeHasBeenSet = true; m_topicScheduleType = value; } /** *

The type of refresh schedule. Valid values for this structure are * HOURLY, DAILY, WEEKLY, and * MONTHLY.

*/ inline void SetTopicScheduleType(TopicScheduleType&& value) { m_topicScheduleTypeHasBeenSet = true; m_topicScheduleType = std::move(value); } /** *

The type of refresh schedule. Valid values for this structure are * HOURLY, DAILY, WEEKLY, and * MONTHLY.

*/ inline TopicRefreshSchedule& WithTopicScheduleType(const TopicScheduleType& value) { SetTopicScheduleType(value); return *this;} /** *

The type of refresh schedule. Valid values for this structure are * HOURLY, DAILY, WEEKLY, and * MONTHLY.

*/ inline TopicRefreshSchedule& WithTopicScheduleType(TopicScheduleType&& value) { SetTopicScheduleType(std::move(value)); return *this;} private: bool m_isEnabled; bool m_isEnabledHasBeenSet = false; bool m_basedOnSpiceSchedule; bool m_basedOnSpiceScheduleHasBeenSet = false; Aws::Utils::DateTime m_startingAt; bool m_startingAtHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; Aws::String m_repeatAt; bool m_repeatAtHasBeenSet = false; TopicScheduleType m_topicScheduleType; bool m_topicScheduleTypeHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws