/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a bandwidth rate limit interval for a gateway. A bandwidth rate
* limit schedule consists of one or more bandwidth rate limit intervals. A
* bandwidth rate limit interval defines a period of time on one or more days of
* the week, during which bandwidth rate limits are specified for uploading,
* downloading, or both. See Also:
AWS
* API Reference
The hour of the day to start the bandwidth rate limit interval.
*/ inline int GetStartHourOfDay() const{ return m_startHourOfDay; } /** *The hour of the day to start the bandwidth rate limit interval.
*/ inline bool StartHourOfDayHasBeenSet() const { return m_startHourOfDayHasBeenSet; } /** *The hour of the day to start the bandwidth rate limit interval.
*/ inline void SetStartHourOfDay(int value) { m_startHourOfDayHasBeenSet = true; m_startHourOfDay = value; } /** *The hour of the day to start the bandwidth rate limit interval.
*/ inline BandwidthRateLimitInterval& WithStartHourOfDay(int value) { SetStartHourOfDay(value); return *this;} /** * The minute of the hour to start the bandwidth rate limit interval. The
* interval begins at the start of that minute. To begin an interval exactly at the
* start of the hour, use the value 0
.
The minute of the hour to start the bandwidth rate limit interval. The
* interval begins at the start of that minute. To begin an interval exactly at the
* start of the hour, use the value 0
.
The minute of the hour to start the bandwidth rate limit interval. The
* interval begins at the start of that minute. To begin an interval exactly at the
* start of the hour, use the value 0
.
The minute of the hour to start the bandwidth rate limit interval. The
* interval begins at the start of that minute. To begin an interval exactly at the
* start of the hour, use the value 0
.
The hour of the day to end the bandwidth rate limit interval.
*/ inline int GetEndHourOfDay() const{ return m_endHourOfDay; } /** *The hour of the day to end the bandwidth rate limit interval.
*/ inline bool EndHourOfDayHasBeenSet() const { return m_endHourOfDayHasBeenSet; } /** *The hour of the day to end the bandwidth rate limit interval.
*/ inline void SetEndHourOfDay(int value) { m_endHourOfDayHasBeenSet = true; m_endHourOfDay = value; } /** *The hour of the day to end the bandwidth rate limit interval.
*/ inline BandwidthRateLimitInterval& WithEndHourOfDay(int value) { SetEndHourOfDay(value); return *this;} /** *The minute of the hour to end the bandwidth rate limit interval.
* The bandwidth rate limit interval ends at the end of the minute.
* To end an interval at the end of an hour, use the value 59
.
The minute of the hour to end the bandwidth rate limit interval.
* The bandwidth rate limit interval ends at the end of the minute.
* To end an interval at the end of an hour, use the value 59
.
The minute of the hour to end the bandwidth rate limit interval.
* The bandwidth rate limit interval ends at the end of the minute.
* To end an interval at the end of an hour, use the value 59
.
The minute of the hour to end the bandwidth rate limit interval.
* The bandwidth rate limit interval ends at the end of the minute.
* To end an interval at the end of an hour, use the value 59
.
The days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline const Aws::VectorThe days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline bool DaysOfWeekHasBeenSet() const { return m_daysOfWeekHasBeenSet; } /** *The days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline void SetDaysOfWeek(const Aws::VectorThe days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline void SetDaysOfWeek(Aws::VectorThe days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline BandwidthRateLimitInterval& WithDaysOfWeek(const Aws::VectorThe days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline BandwidthRateLimitInterval& WithDaysOfWeek(Aws::VectorThe days of the week component of the bandwidth rate limit interval, * represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 * represents Saturday.
*/ inline BandwidthRateLimitInterval& AddDaysOfWeek(int value) { m_daysOfWeekHasBeenSet = true; m_daysOfWeek.push_back(value); return *this; } /** *The average upload rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * upload rate limit is not set.
*/ inline long long GetAverageUploadRateLimitInBitsPerSec() const{ return m_averageUploadRateLimitInBitsPerSec; } /** *The average upload rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * upload rate limit is not set.
*/ inline bool AverageUploadRateLimitInBitsPerSecHasBeenSet() const { return m_averageUploadRateLimitInBitsPerSecHasBeenSet; } /** *The average upload rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * upload rate limit is not set.
*/ inline void SetAverageUploadRateLimitInBitsPerSec(long long value) { m_averageUploadRateLimitInBitsPerSecHasBeenSet = true; m_averageUploadRateLimitInBitsPerSec = value; } /** *The average upload rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * upload rate limit is not set.
*/ inline BandwidthRateLimitInterval& WithAverageUploadRateLimitInBitsPerSec(long long value) { SetAverageUploadRateLimitInBitsPerSec(value); return *this;} /** *The average download rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * download rate limit is not set.
*/ inline long long GetAverageDownloadRateLimitInBitsPerSec() const{ return m_averageDownloadRateLimitInBitsPerSec; } /** *The average download rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * download rate limit is not set.
*/ inline bool AverageDownloadRateLimitInBitsPerSecHasBeenSet() const { return m_averageDownloadRateLimitInBitsPerSecHasBeenSet; } /** *The average download rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * download rate limit is not set.
*/ inline void SetAverageDownloadRateLimitInBitsPerSec(long long value) { m_averageDownloadRateLimitInBitsPerSecHasBeenSet = true; m_averageDownloadRateLimitInBitsPerSec = value; } /** *The average download rate limit component of the bandwidth rate limit * interval, in bits per second. This field does not appear in the response if the * download rate limit is not set.
*/ inline BandwidthRateLimitInterval& WithAverageDownloadRateLimitInBitsPerSec(long long value) { SetAverageDownloadRateLimitInBitsPerSec(value); return *this;} private: int m_startHourOfDay; bool m_startHourOfDayHasBeenSet = false; int m_startMinuteOfHour; bool m_startMinuteOfHourHasBeenSet = false; int m_endHourOfDay; bool m_endHourOfDayHasBeenSet = false; int m_endMinuteOfHour; bool m_endMinuteOfHourHasBeenSet = false; Aws::Vector