/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details of a Shield event. This is provided as part of an
* AttackDetail.See Also:
AWS
* API Reference
The type of Shield event that was observed. NETWORK
indicates
* layer 3 and layer 4 events and APPLICATION
indicates layer 7
* events.
For infrastructure layer events (L3 and L4 events), you can view * metrics for top contributors in Amazon CloudWatch metrics. For more information, * see Shield * metrics and alarms in the WAF Developer Guide.
*/ inline const AttackLayer& GetAttackLayer() const{ return m_attackLayer; } /** *The type of Shield event that was observed. NETWORK
indicates
* layer 3 and layer 4 events and APPLICATION
indicates layer 7
* events.
For infrastructure layer events (L3 and L4 events), you can view * metrics for top contributors in Amazon CloudWatch metrics. For more information, * see Shield * metrics and alarms in the WAF Developer Guide.
*/ inline bool AttackLayerHasBeenSet() const { return m_attackLayerHasBeenSet; } /** *The type of Shield event that was observed. NETWORK
indicates
* layer 3 and layer 4 events and APPLICATION
indicates layer 7
* events.
For infrastructure layer events (L3 and L4 events), you can view * metrics for top contributors in Amazon CloudWatch metrics. For more information, * see Shield * metrics and alarms in the WAF Developer Guide.
*/ inline void SetAttackLayer(const AttackLayer& value) { m_attackLayerHasBeenSet = true; m_attackLayer = value; } /** *The type of Shield event that was observed. NETWORK
indicates
* layer 3 and layer 4 events and APPLICATION
indicates layer 7
* events.
For infrastructure layer events (L3 and L4 events), you can view * metrics for top contributors in Amazon CloudWatch metrics. For more information, * see Shield * metrics and alarms in the WAF Developer Guide.
*/ inline void SetAttackLayer(AttackLayer&& value) { m_attackLayerHasBeenSet = true; m_attackLayer = std::move(value); } /** *The type of Shield event that was observed. NETWORK
indicates
* layer 3 and layer 4 events and APPLICATION
indicates layer 7
* events.
For infrastructure layer events (L3 and L4 events), you can view * metrics for top contributors in Amazon CloudWatch metrics. For more information, * see Shield * metrics and alarms in the WAF Developer Guide.
*/ inline AttackProperty& WithAttackLayer(const AttackLayer& value) { SetAttackLayer(value); return *this;} /** *The type of Shield event that was observed. NETWORK
indicates
* layer 3 and layer 4 events and APPLICATION
indicates layer 7
* events.
For infrastructure layer events (L3 and L4 events), you can view * metrics for top contributors in Amazon CloudWatch metrics. For more information, * see Shield * metrics and alarms in the WAF Developer Guide.
*/ inline AttackProperty& WithAttackLayer(AttackLayer&& value) { SetAttackLayer(std::move(value)); return *this;} /** *Defines the Shield event property information that is provided. The
* WORDPRESS_PINGBACK_REFLECTOR
and
* WORDPRESS_PINGBACK_SOURCE
values are valid only for WordPress
* reflective pingback events.
Defines the Shield event property information that is provided. The
* WORDPRESS_PINGBACK_REFLECTOR
and
* WORDPRESS_PINGBACK_SOURCE
values are valid only for WordPress
* reflective pingback events.
Defines the Shield event property information that is provided. The
* WORDPRESS_PINGBACK_REFLECTOR
and
* WORDPRESS_PINGBACK_SOURCE
values are valid only for WordPress
* reflective pingback events.
Defines the Shield event property information that is provided. The
* WORDPRESS_PINGBACK_REFLECTOR
and
* WORDPRESS_PINGBACK_SOURCE
values are valid only for WordPress
* reflective pingback events.
Defines the Shield event property information that is provided. The
* WORDPRESS_PINGBACK_REFLECTOR
and
* WORDPRESS_PINGBACK_SOURCE
values are valid only for WordPress
* reflective pingback events.
Defines the Shield event property information that is provided. The
* WORDPRESS_PINGBACK_REFLECTOR
and
* WORDPRESS_PINGBACK_SOURCE
values are valid only for WordPress
* reflective pingback events.
Contributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline const Aws::VectorContributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline bool TopContributorsHasBeenSet() const { return m_topContributorsHasBeenSet; } /** *Contributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline void SetTopContributors(const Aws::VectorContributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline void SetTopContributors(Aws::VectorContributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline AttackProperty& WithTopContributors(const Aws::VectorContributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline AttackProperty& WithTopContributors(Aws::VectorContributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline AttackProperty& AddTopContributors(const Contributor& value) { m_topContributorsHasBeenSet = true; m_topContributors.push_back(value); return *this; } /** *Contributor objects for the top five contributors to a Shield event. A * contributor is a source of traffic that Shield Advanced identifies as * responsible for some or all of an event.
*/ inline AttackProperty& AddTopContributors(Contributor&& value) { m_topContributorsHasBeenSet = true; m_topContributors.push_back(std::move(value)); return *this; } /** *The unit used for the Contributor
Value
property.
*
The unit used for the Contributor
Value
property.
*
The unit used for the Contributor
Value
property.
*
The unit used for the Contributor
Value
property.
*
The unit used for the Contributor
Value
property.
*
The unit used for the Contributor
Value
property.
*
The total contributions made to this Shield event by all contributors.
*/ inline long long GetTotal() const{ return m_total; } /** *The total contributions made to this Shield event by all contributors.
*/ inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; } /** *The total contributions made to this Shield event by all contributors.
*/ inline void SetTotal(long long value) { m_totalHasBeenSet = true; m_total = value; } /** *The total contributions made to this Shield event by all contributors.
*/ inline AttackProperty& WithTotal(long long value) { SetTotal(value); return *this;} private: AttackLayer m_attackLayer; bool m_attackLayerHasBeenSet = false; AttackPropertyIdentifier m_attackPropertyIdentifier; bool m_attackPropertyIdentifierHasBeenSet = false; Aws::Vector