/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the shield-2016-06-02.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Shield.Model
{
///
/// Details of a Shield event. This is provided as part of an AttackDetail.
///
public partial class AttackProperty
{
private AttackLayer _attackLayer;
private AttackPropertyIdentifier _attackPropertyIdentifier;
private List _topContributors = new List();
private long? _total;
private Unit _unit;
///
/// Gets and sets the property 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.
///
///
public AttackLayer AttackLayer
{
get { return this._attackLayer; }
set { this._attackLayer = value; }
}
// Check to see if AttackLayer property is set
internal bool IsSetAttackLayer()
{
return this._attackLayer != null;
}
///
/// Gets and sets the property AttackPropertyIdentifier.
///
/// 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.
///
///
public AttackPropertyIdentifier AttackPropertyIdentifier
{
get { return this._attackPropertyIdentifier; }
set { this._attackPropertyIdentifier = value; }
}
// Check to see if AttackPropertyIdentifier property is set
internal bool IsSetAttackPropertyIdentifier()
{
return this._attackPropertyIdentifier != null;
}
///
/// Gets and sets the property TopContributors.
///
/// 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.
///
///
public List TopContributors
{
get { return this._topContributors; }
set { this._topContributors = value; }
}
// Check to see if TopContributors property is set
internal bool IsSetTopContributors()
{
return this._topContributors != null && this._topContributors.Count > 0;
}
///
/// Gets and sets the property Total.
///
/// The total contributions made to this Shield event by all contributors.
///
///
public long Total
{
get { return this._total.GetValueOrDefault(); }
set { this._total = value; }
}
// Check to see if Total property is set
internal bool IsSetTotal()
{
return this._total.HasValue;
}
///
/// Gets and sets the property Unit.
///
/// The unit used for the Contributor
Value
property.
///
///
public Unit Unit
{
get { return this._unit; }
set { this._unit = value; }
}
// Check to see if Unit property is set
internal bool IsSetUnit()
{
return this._unit != null;
}
}
}