/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about the volume of attacks during the time period, included in
* an AttackStatisticsDataItem. If the accompanying AttackCount
* in the statistics object is zero, this setting might be empty.See
* Also:
AWS
* API Reference
A statistics object that uses bits per second as the unit. This is included * for network level attacks.
*/ inline const AttackVolumeStatistics& GetBitsPerSecond() const{ return m_bitsPerSecond; } /** *A statistics object that uses bits per second as the unit. This is included * for network level attacks.
*/ inline bool BitsPerSecondHasBeenSet() const { return m_bitsPerSecondHasBeenSet; } /** *A statistics object that uses bits per second as the unit. This is included * for network level attacks.
*/ inline void SetBitsPerSecond(const AttackVolumeStatistics& value) { m_bitsPerSecondHasBeenSet = true; m_bitsPerSecond = value; } /** *A statistics object that uses bits per second as the unit. This is included * for network level attacks.
*/ inline void SetBitsPerSecond(AttackVolumeStatistics&& value) { m_bitsPerSecondHasBeenSet = true; m_bitsPerSecond = std::move(value); } /** *A statistics object that uses bits per second as the unit. This is included * for network level attacks.
*/ inline AttackVolume& WithBitsPerSecond(const AttackVolumeStatistics& value) { SetBitsPerSecond(value); return *this;} /** *A statistics object that uses bits per second as the unit. This is included * for network level attacks.
*/ inline AttackVolume& WithBitsPerSecond(AttackVolumeStatistics&& value) { SetBitsPerSecond(std::move(value)); return *this;} /** *A statistics object that uses packets per second as the unit. This is * included for network level attacks.
*/ inline const AttackVolumeStatistics& GetPacketsPerSecond() const{ return m_packetsPerSecond; } /** *A statistics object that uses packets per second as the unit. This is * included for network level attacks.
*/ inline bool PacketsPerSecondHasBeenSet() const { return m_packetsPerSecondHasBeenSet; } /** *A statistics object that uses packets per second as the unit. This is * included for network level attacks.
*/ inline void SetPacketsPerSecond(const AttackVolumeStatistics& value) { m_packetsPerSecondHasBeenSet = true; m_packetsPerSecond = value; } /** *A statistics object that uses packets per second as the unit. This is * included for network level attacks.
*/ inline void SetPacketsPerSecond(AttackVolumeStatistics&& value) { m_packetsPerSecondHasBeenSet = true; m_packetsPerSecond = std::move(value); } /** *A statistics object that uses packets per second as the unit. This is * included for network level attacks.
*/ inline AttackVolume& WithPacketsPerSecond(const AttackVolumeStatistics& value) { SetPacketsPerSecond(value); return *this;} /** *A statistics object that uses packets per second as the unit. This is * included for network level attacks.
*/ inline AttackVolume& WithPacketsPerSecond(AttackVolumeStatistics&& value) { SetPacketsPerSecond(std::move(value)); return *this;} /** *A statistics object that uses requests per second as the unit. This is * included for application level attacks, and is only available for accounts that * are subscribed to Shield Advanced.
*/ inline const AttackVolumeStatistics& GetRequestsPerSecond() const{ return m_requestsPerSecond; } /** *A statistics object that uses requests per second as the unit. This is * included for application level attacks, and is only available for accounts that * are subscribed to Shield Advanced.
*/ inline bool RequestsPerSecondHasBeenSet() const { return m_requestsPerSecondHasBeenSet; } /** *A statistics object that uses requests per second as the unit. This is * included for application level attacks, and is only available for accounts that * are subscribed to Shield Advanced.
*/ inline void SetRequestsPerSecond(const AttackVolumeStatistics& value) { m_requestsPerSecondHasBeenSet = true; m_requestsPerSecond = value; } /** *A statistics object that uses requests per second as the unit. This is * included for application level attacks, and is only available for accounts that * are subscribed to Shield Advanced.
*/ inline void SetRequestsPerSecond(AttackVolumeStatistics&& value) { m_requestsPerSecondHasBeenSet = true; m_requestsPerSecond = std::move(value); } /** *A statistics object that uses requests per second as the unit. This is * included for application level attacks, and is only available for accounts that * are subscribed to Shield Advanced.
*/ inline AttackVolume& WithRequestsPerSecond(const AttackVolumeStatistics& value) { SetRequestsPerSecond(value); return *this;} /** *A statistics object that uses requests per second as the unit. This is * included for application level attacks, and is only available for accounts that * are subscribed to Shield Advanced.
*/ inline AttackVolume& WithRequestsPerSecond(AttackVolumeStatistics&& value) { SetRequestsPerSecond(std::move(value)); return *this;} private: AttackVolumeStatistics m_bitsPerSecond; bool m_bitsPerSecondHasBeenSet; AttackVolumeStatistics m_packetsPerSecond; bool m_packetsPerSecondHasBeenSet; AttackVolumeStatistics m_requestsPerSecond; bool m_requestsPerSecondHasBeenSet; }; } // namespace Model } // namespace Shield } // namespace Aws