/*
* 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 wafv2-2019-07-29.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.WAFV2.Model
{
///
/// The properties of a managed product, such as an Amazon Web Services Managed Rules
/// rule group or an Amazon Web Services Marketplace managed rule group.
///
public partial class ManagedProductDescriptor
{
private bool? _isAdvancedManagedRuleSet;
private bool? _isVersioningSupported;
private string _managedRuleSetName;
private string _productDescription;
private string _productId;
private string _productLink;
private string _productTitle;
private string _snsTopicArn;
private string _vendorName;
///
/// Gets and sets the property IsAdvancedManagedRuleSet.
///
/// Indicates whether the rule group provides an advanced set of protections, such as
/// the the Amazon Web Services Managed Rules rule groups that are used for WAF intelligent
/// threat mitigation.
///
///
public bool IsAdvancedManagedRuleSet
{
get { return this._isAdvancedManagedRuleSet.GetValueOrDefault(); }
set { this._isAdvancedManagedRuleSet = value; }
}
// Check to see if IsAdvancedManagedRuleSet property is set
internal bool IsSetIsAdvancedManagedRuleSet()
{
return this._isAdvancedManagedRuleSet.HasValue;
}
///
/// Gets and sets the property IsVersioningSupported.
///
/// Indicates whether the rule group is versioned.
///
///
public bool IsVersioningSupported
{
get { return this._isVersioningSupported.GetValueOrDefault(); }
set { this._isVersioningSupported = value; }
}
// Check to see if IsVersioningSupported property is set
internal bool IsSetIsVersioningSupported()
{
return this._isVersioningSupported.HasValue;
}
///
/// Gets and sets the property ManagedRuleSetName.
///
/// The name of the managed rule group. For example, AWSManagedRulesAnonymousIpList
/// or AWSManagedRulesATPRuleSet
.
///
///
[AWSProperty(Min=1, Max=128)]
public string ManagedRuleSetName
{
get { return this._managedRuleSetName; }
set { this._managedRuleSetName = value; }
}
// Check to see if ManagedRuleSetName property is set
internal bool IsSetManagedRuleSetName()
{
return this._managedRuleSetName != null;
}
///
/// Gets and sets the property ProductDescription.
///
/// A short description of the managed rule group.
///
///
[AWSProperty(Min=1)]
public string ProductDescription
{
get { return this._productDescription; }
set { this._productDescription = value; }
}
// Check to see if ProductDescription property is set
internal bool IsSetProductDescription()
{
return this._productDescription != null;
}
///
/// Gets and sets the property ProductId.
///
/// A unique identifier for the rule group. This ID is returned in the responses to create
/// and list commands. You provide it to operations like update and delete.
///
///
[AWSProperty(Min=1, Max=128)]
public string ProductId
{
get { return this._productId; }
set { this._productId = value; }
}
// Check to see if ProductId property is set
internal bool IsSetProductId()
{
return this._productId != null;
}
///
/// Gets and sets the property ProductLink.
///
/// For Amazon Web Services Marketplace managed rule groups only, the link to the rule
/// group product page.
///
///
[AWSProperty(Min=1, Max=2048)]
public string ProductLink
{
get { return this._productLink; }
set { this._productLink = value; }
}
// Check to see if ProductLink property is set
internal bool IsSetProductLink()
{
return this._productLink != null;
}
///
/// Gets and sets the property ProductTitle.
///
/// The display name for the managed rule group. For example, Anonymous IP list
/// or Account takeover prevention
.
///
///
[AWSProperty(Min=1)]
public string ProductTitle
{
get { return this._productTitle; }
set { this._productTitle = value; }
}
// Check to see if ProductTitle property is set
internal bool IsSetProductTitle()
{
return this._productTitle != null;
}
///
/// Gets and sets the property SnsTopicArn.
///
/// The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic
/// that's used to provide notification of changes to the managed rule group. You can
/// subscribe to the SNS topic to receive notifications when the managed rule group is
/// modified, such as for new versions and for version expiration. For more information,
/// see the Amazon Simple
/// Notification Service Developer Guide.
///
///
[AWSProperty(Min=20, Max=2048)]
public string SnsTopicArn
{
get { return this._snsTopicArn; }
set { this._snsTopicArn = value; }
}
// Check to see if SnsTopicArn property is set
internal bool IsSetSnsTopicArn()
{
return this._snsTopicArn != null;
}
///
/// Gets and sets the property VendorName.
///
/// The name of the managed rule group vendor. You use this, along with the rule group
/// name, to identify a rule group.
///
///
[AWSProperty(Min=1, Max=128)]
public string VendorName
{
get { return this._vendorName; }
set { this._vendorName = value; }
}
// Check to see if VendorName property is set
internal bool IsSetVendorName()
{
return this._vendorName != null;
}
}
}