/*
* 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 network-firewall-2020-11-12.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.NetworkFirewall.Model
{
///
/// Stateful inspection criteria for a domain list rule group.
///
///
///
/// For HTTPS traffic, domain filtering is SNI-based. It uses the server name indicator
/// extension of the TLS handshake.
///
///
///
/// By default, Network Firewall domain list inspection only includes traffic coming from
/// the VPC where you deploy the firewall. To inspect traffic from IP addresses outside
/// of the deployment VPC, you set the HOME_NET
rule variable to include
/// the CIDR range of the deployment VPC plus the other CIDR ranges. For more information,
/// see RuleVariables in this guide and Stateful
/// domain list rule groups in Network Firewall in the Network Firewall Developer
/// Guide.
///
///
public partial class RulesSourceList
{
private GeneratedRulesType _generatedRulesType;
private List _targets = new List();
private List _targetTypes = new List();
///
/// Gets and sets the property GeneratedRulesType.
///
/// Whether you want to allow or deny access to the domains in your target list.
///
///
[AWSProperty(Required=true)]
public GeneratedRulesType GeneratedRulesType
{
get { return this._generatedRulesType; }
set { this._generatedRulesType = value; }
}
// Check to see if GeneratedRulesType property is set
internal bool IsSetGeneratedRulesType()
{
return this._generatedRulesType != null;
}
///
/// Gets and sets the property Targets.
///
/// The domains that you want to inspect for in your traffic flows. Valid domain specifications
/// are the following:
///
/// -
///
/// Explicit names. For example,
abc.example.com
matches only the domain
/// abc.example.com
.
///
/// -
///
/// Names that use a domain wildcard, which you indicate with an initial '
.
'.
/// For example,.example.com
matches example.com
and matches
/// all subdomains of example.com
, such as abc.example.com
and
/// www.example.com
.
///
///
///
[AWSProperty(Required=true)]
public List Targets
{
get { return this._targets; }
set { this._targets = value; }
}
// Check to see if Targets property is set
internal bool IsSetTargets()
{
return this._targets != null && this._targets.Count > 0;
}
///
/// Gets and sets the property TargetTypes.
///
/// The protocols you want to inspect. Specify TLS_SNI
for HTTPS
.
/// Specify HTTP_HOST
for HTTP
. You can specify either or both.
///
///
///
[AWSProperty(Required=true)]
public List TargetTypes
{
get { return this._targetTypes; }
set { this._targetTypes = value; }
}
// Check to see if TargetTypes property is set
internal bool IsSetTargetTypes()
{
return this._targetTypes != null && this._targetTypes.Count > 0;
}
}
}