/* * 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 route53resolver-2018-04-01.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.Route53Resolver.Model { /// /// A single firewall rule in a rule group. /// public partial class FirewallRule { private Action _action; private BlockOverrideDnsType _blockOverrideDnsType; private string _blockOverrideDomain; private int? _blockOverrideTtl; private BlockResponse _blockResponse; private string _creationTime; private string _creatorRequestId; private string _firewallDomainListId; private string _firewallRuleGroupId; private string _modificationTime; private string _name; private int? _priority; /// /// Gets and sets the property Action. /// /// The action that DNS Firewall should take on a DNS query when it matches one of the /// domains in the rule's domain list: /// /// /// public Action Action { get { return this._action; } set { this._action = value; } } // Check to see if Action property is set internal bool IsSetAction() { return this._action != null; } /// /// Gets and sets the property BlockOverrideDnsType. /// /// The DNS record's type. This determines the format of the record value that you provided /// in BlockOverrideDomain. Used for the rule action BLOCK with /// a BlockResponse setting of OVERRIDE. /// /// public BlockOverrideDnsType BlockOverrideDnsType { get { return this._blockOverrideDnsType; } set { this._blockOverrideDnsType = value; } } // Check to see if BlockOverrideDnsType property is set internal bool IsSetBlockOverrideDnsType() { return this._blockOverrideDnsType != null; } /// /// Gets and sets the property BlockOverrideDomain. /// /// The custom DNS record to send back in response to the query. Used for the rule action /// BLOCK with a BlockResponse setting of OVERRIDE. /// /// [AWSProperty(Min=1, Max=255)] public string BlockOverrideDomain { get { return this._blockOverrideDomain; } set { this._blockOverrideDomain = value; } } // Check to see if BlockOverrideDomain property is set internal bool IsSetBlockOverrideDomain() { return this._blockOverrideDomain != null; } /// /// Gets and sets the property BlockOverrideTtl. /// /// The recommended amount of time, in seconds, for the DNS resolver or web browser to /// cache the provided override record. Used for the rule action BLOCK with /// a BlockResponse setting of OVERRIDE. /// /// public int BlockOverrideTtl { get { return this._blockOverrideTtl.GetValueOrDefault(); } set { this._blockOverrideTtl = value; } } // Check to see if BlockOverrideTtl property is set internal bool IsSetBlockOverrideTtl() { return this._blockOverrideTtl.HasValue; } /// /// Gets and sets the property BlockResponse. /// /// The way that you want DNS Firewall to block the request. Used for the rule action /// setting BLOCK. /// /// /// public BlockResponse BlockResponse { get { return this._blockResponse; } set { this._blockResponse = value; } } // Check to see if BlockResponse property is set internal bool IsSetBlockResponse() { return this._blockResponse != null; } /// /// Gets and sets the property CreationTime. /// /// The date and time that the rule was created, in Unix time format and Coordinated Universal /// Time (UTC). /// /// [AWSProperty(Min=20, Max=40)] public string CreationTime { get { return this._creationTime; } set { this._creationTime = value; } } // Check to see if CreationTime property is set internal bool IsSetCreationTime() { return this._creationTime != null; } /// /// Gets and sets the property CreatorRequestId. /// /// A unique string defined by you to identify the request. This allows you to retry failed /// requests without the risk of executing the operation twice. This can be any unique /// string, for example, a timestamp. /// /// [AWSProperty(Min=1, Max=255)] public string CreatorRequestId { get { return this._creatorRequestId; } set { this._creatorRequestId = value; } } // Check to see if CreatorRequestId property is set internal bool IsSetCreatorRequestId() { return this._creatorRequestId != null; } /// /// Gets and sets the property FirewallDomainListId. /// /// The ID of the domain list that's used in the rule. /// /// [AWSProperty(Min=1, Max=64)] public string FirewallDomainListId { get { return this._firewallDomainListId; } set { this._firewallDomainListId = value; } } // Check to see if FirewallDomainListId property is set internal bool IsSetFirewallDomainListId() { return this._firewallDomainListId != null; } /// /// Gets and sets the property FirewallRuleGroupId. /// /// The unique identifier of the firewall rule group of the rule. /// /// [AWSProperty(Min=1, Max=64)] public string FirewallRuleGroupId { get { return this._firewallRuleGroupId; } set { this._firewallRuleGroupId = value; } } // Check to see if FirewallRuleGroupId property is set internal bool IsSetFirewallRuleGroupId() { return this._firewallRuleGroupId != null; } /// /// Gets and sets the property ModificationTime. /// /// The date and time that the rule was last modified, in Unix time format and Coordinated /// Universal Time (UTC). /// /// [AWSProperty(Min=20, Max=40)] public string ModificationTime { get { return this._modificationTime; } set { this._modificationTime = value; } } // Check to see if ModificationTime property is set internal bool IsSetModificationTime() { return this._modificationTime != null; } /// /// Gets and sets the property Name. /// /// The name of the rule. /// /// [AWSProperty(Max=64)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property Priority. /// /// The priority of the rule in the rule group. This value must be unique within the rule /// group. DNS Firewall processes the rules in a rule group by order of priority, starting /// from the lowest setting. /// /// public int Priority { get { return this._priority.GetValueOrDefault(); } set { this._priority = value; } } // Check to see if Priority property is set internal bool IsSetPriority() { return this._priority.HasValue; } } }