/** * 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 { /** *

Specifies the interval between each scheduled refresh of a * dataset.

See Also:

AWS * API Reference

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

The interval between scheduled refreshes. Valid values are as follows:

*
  • MINUTE15: The dataset refreshes every 15 minutes. * This value is only supported for incremental refreshes. This interval can only * be used for one schedule per dataset.

  • * MINUTE30:The dataset refreshes every 30 minutes. This value is only * supported for incremental refreshes. This interval can only be used for one * schedule per dataset.

  • HOURLY: The dataset * refreshes every hour. This interval can only be used for one schedule per * dataset.

  • DAILY: The dataset refreshes every * day.

  • WEEKLY: The dataset refreshes every * week.

  • MONTHLY: The dataset refreshes every * month.

*/ inline const RefreshInterval& GetInterval() const{ return m_interval; } /** *

The interval between scheduled refreshes. Valid values are as follows:

*
  • MINUTE15: The dataset refreshes every 15 minutes. * This value is only supported for incremental refreshes. This interval can only * be used for one schedule per dataset.

  • * MINUTE30:The dataset refreshes every 30 minutes. This value is only * supported for incremental refreshes. This interval can only be used for one * schedule per dataset.

  • HOURLY: The dataset * refreshes every hour. This interval can only be used for one schedule per * dataset.

  • DAILY: The dataset refreshes every * day.

  • WEEKLY: The dataset refreshes every * week.

  • MONTHLY: The dataset refreshes every * month.

*/ inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; } /** *

The interval between scheduled refreshes. Valid values are as follows:

*
  • MINUTE15: The dataset refreshes every 15 minutes. * This value is only supported for incremental refreshes. This interval can only * be used for one schedule per dataset.

  • * MINUTE30:The dataset refreshes every 30 minutes. This value is only * supported for incremental refreshes. This interval can only be used for one * schedule per dataset.

  • HOURLY: The dataset * refreshes every hour. This interval can only be used for one schedule per * dataset.

  • DAILY: The dataset refreshes every * day.

  • WEEKLY: The dataset refreshes every * week.

  • MONTHLY: The dataset refreshes every * month.

*/ inline void SetInterval(const RefreshInterval& value) { m_intervalHasBeenSet = true; m_interval = value; } /** *

The interval between scheduled refreshes. Valid values are as follows:

*
  • MINUTE15: The dataset refreshes every 15 minutes. * This value is only supported for incremental refreshes. This interval can only * be used for one schedule per dataset.

  • * MINUTE30:The dataset refreshes every 30 minutes. This value is only * supported for incremental refreshes. This interval can only be used for one * schedule per dataset.

  • HOURLY: The dataset * refreshes every hour. This interval can only be used for one schedule per * dataset.

  • DAILY: The dataset refreshes every * day.

  • WEEKLY: The dataset refreshes every * week.

  • MONTHLY: The dataset refreshes every * month.

*/ inline void SetInterval(RefreshInterval&& value) { m_intervalHasBeenSet = true; m_interval = std::move(value); } /** *

The interval between scheduled refreshes. Valid values are as follows:

*
  • MINUTE15: The dataset refreshes every 15 minutes. * This value is only supported for incremental refreshes. This interval can only * be used for one schedule per dataset.

  • * MINUTE30:The dataset refreshes every 30 minutes. This value is only * supported for incremental refreshes. This interval can only be used for one * schedule per dataset.

  • HOURLY: The dataset * refreshes every hour. This interval can only be used for one schedule per * dataset.

  • DAILY: The dataset refreshes every * day.

  • WEEKLY: The dataset refreshes every * week.

  • MONTHLY: The dataset refreshes every * month.

*/ inline RefreshFrequency& WithInterval(const RefreshInterval& value) { SetInterval(value); return *this;} /** *

The interval between scheduled refreshes. Valid values are as follows:

*
  • MINUTE15: The dataset refreshes every 15 minutes. * This value is only supported for incremental refreshes. This interval can only * be used for one schedule per dataset.

  • * MINUTE30:The dataset refreshes every 30 minutes. This value is only * supported for incremental refreshes. This interval can only be used for one * schedule per dataset.

  • HOURLY: The dataset * refreshes every hour. This interval can only be used for one schedule per * dataset.

  • DAILY: The dataset refreshes every * day.

  • WEEKLY: The dataset refreshes every * week.

  • MONTHLY: The dataset refreshes every * month.

*/ inline RefreshFrequency& WithInterval(RefreshInterval&& value) { SetInterval(std::move(value)); return *this;} /** *

The day of the week that you want to schedule the refresh on. This value is * required for weekly and monthly refresh intervals.

*/ inline const ScheduleRefreshOnEntity& GetRefreshOnDay() const{ return m_refreshOnDay; } /** *

The day of the week that you want to schedule the refresh on. This value is * required for weekly and monthly refresh intervals.

*/ inline bool RefreshOnDayHasBeenSet() const { return m_refreshOnDayHasBeenSet; } /** *

The day of the week that you want to schedule the refresh on. This value is * required for weekly and monthly refresh intervals.

*/ inline void SetRefreshOnDay(const ScheduleRefreshOnEntity& value) { m_refreshOnDayHasBeenSet = true; m_refreshOnDay = value; } /** *

The day of the week that you want to schedule the refresh on. This value is * required for weekly and monthly refresh intervals.

*/ inline void SetRefreshOnDay(ScheduleRefreshOnEntity&& value) { m_refreshOnDayHasBeenSet = true; m_refreshOnDay = std::move(value); } /** *

The day of the week that you want to schedule the refresh on. This value is * required for weekly and monthly refresh intervals.

*/ inline RefreshFrequency& WithRefreshOnDay(const ScheduleRefreshOnEntity& value) { SetRefreshOnDay(value); return *this;} /** *

The day of the week that you want to schedule the refresh on. This value is * required for weekly and monthly refresh intervals.

*/ inline RefreshFrequency& WithRefreshOnDay(ScheduleRefreshOnEntity&& value) { SetRefreshOnDay(std::move(value)); return *this;} /** *

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The timezone that you want the refresh schedule to use. The timezone ID must * match a corresponding ID found on * java.util.time.getAvailableIDs().

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

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline const Aws::String& GetTimeOfTheDay() const{ return m_timeOfTheDay; } /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline bool TimeOfTheDayHasBeenSet() const { return m_timeOfTheDayHasBeenSet; } /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline void SetTimeOfTheDay(const Aws::String& value) { m_timeOfTheDayHasBeenSet = true; m_timeOfTheDay = value; } /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline void SetTimeOfTheDay(Aws::String&& value) { m_timeOfTheDayHasBeenSet = true; m_timeOfTheDay = std::move(value); } /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline void SetTimeOfTheDay(const char* value) { m_timeOfTheDayHasBeenSet = true; m_timeOfTheDay.assign(value); } /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline RefreshFrequency& WithTimeOfTheDay(const Aws::String& value) { SetTimeOfTheDay(value); return *this;} /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline RefreshFrequency& WithTimeOfTheDay(Aws::String&& value) { SetTimeOfTheDay(std::move(value)); return *this;} /** *

The time of day that you want the datset to refresh. This value is expressed * in HH:MM format. This field is not required for schedules that refresh * hourly.

*/ inline RefreshFrequency& WithTimeOfTheDay(const char* value) { SetTimeOfTheDay(value); return *this;} private: RefreshInterval m_interval; bool m_intervalHasBeenSet = false; ScheduleRefreshOnEntity m_refreshOnDay; bool m_refreshOnDayHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; Aws::String m_timeOfTheDay; bool m_timeOfTheDayHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws