public AttackDetail withAttackProperties(AttackProperty... attackProperties) {
        if (this.attackProperties == null) {
            setAttackProperties(new java.util.ArrayList<AttackProperty>(attackProperties.length));
        }
        for (AttackProperty ele : attackProperties) {
            this.attackProperties.add(ele);
        }
        return this;
    }
<p>
The array of objects that provide details of the Shield event.
</p>
<p>
For infrastructure layer events (L3 and L4 events), you can view metrics for top contributors in Amazon
CloudWatch metrics. For more information, see <a
href="https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#set-ddos-alarms">Shield
metrics and alarms</a> in the <i>WAF Developer Guide</i>.
</p>
<p>
<b>NOTE:</b> This method appends the values to the existing list (if any). Use
{@link #setAttackProperties(java.util.Collection)} or {@link #withAttackProperties(java.util.Collection)} if you
want to override the existing values.
</p>

@param attackProperties
       The array of objects that provide details of the Shield event. </p>
       <p>
       For infrastructure layer events (L3 and L4 events), you can view metrics for top contributors in Amazon
       CloudWatch metrics. For more information, see <a
       href="https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#set-ddos-alarms"
       >Shield metrics and alarms</a> in the <i>WAF Developer Guide</i>.
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-shield/src/main/java/com/amazonaws/services/shield/model/AttackDetail.java