/* * 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 { /// /// For queries that originate in your VPC, detailed information about a Resolver rule, /// which specifies how to route DNS queries out of the VPC. The ResolverRule /// parameter appears in the response to a CreateResolverRule, /// DeleteResolverRule, /// GetResolverRule, /// ListResolverRules, /// or UpdateResolverRule /// request. /// public partial class ResolverRule { private string _arn; private string _creationTime; private string _creatorRequestId; private string _domainName; private string _id; private string _modificationTime; private string _name; private string _ownerId; private string _resolverEndpointId; private RuleTypeOption _ruleType; private ShareStatus _shareStatus; private ResolverRuleStatus _status; private string _statusMessage; private List _targetIps = new List(); /// /// Gets and sets the property Arn. /// /// The ARN (Amazon Resource Name) for the Resolver rule specified by Id. /// /// [AWSProperty(Min=1, Max=255)] public string Arn { get { return this._arn; } set { this._arn = value; } } // Check to see if Arn property is set internal bool IsSetArn() { return this._arn != null; } /// /// Gets and sets the property CreationTime. /// /// The date and time that the Resolver 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 that you specified when you created the Resolver rule. CreatorRequestId /// identifies the request and allows failed requests to be retried without the risk of /// running the operation twice. /// /// [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 DomainName. /// /// DNS queries for this domain name are forwarded to the IP addresses that are specified /// in TargetIps. If a query matches multiple Resolver rules (example.com /// and www.example.com), the query is routed using the Resolver rule that contains the /// most specific domain name (www.example.com). /// /// [AWSProperty(Min=1, Max=256)] public string DomainName { get { return this._domainName; } set { this._domainName = value; } } // Check to see if DomainName property is set internal bool IsSetDomainName() { return this._domainName != null; } /// /// Gets and sets the property Id. /// /// The ID that Resolver assigned to the Resolver rule when you created it. /// /// [AWSProperty(Min=1, Max=64)] public string Id { get { return this._id; } set { this._id = value; } } // Check to see if Id property is set internal bool IsSetId() { return this._id != null; } /// /// Gets and sets the property ModificationTime. /// /// The date and time that the Resolver rule was last updated, 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 for the Resolver rule, which you specified when you created the Resolver /// 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 OwnerId. /// /// When a rule is shared with another Amazon Web Services account, the account ID of /// the account that the rule is shared with. /// /// [AWSProperty(Min=12, Max=32)] public string OwnerId { get { return this._ownerId; } set { this._ownerId = value; } } // Check to see if OwnerId property is set internal bool IsSetOwnerId() { return this._ownerId != null; } /// /// Gets and sets the property ResolverEndpointId. /// /// The ID of the endpoint that the rule is associated with. /// /// [AWSProperty(Min=1, Max=64)] public string ResolverEndpointId { get { return this._resolverEndpointId; } set { this._resolverEndpointId = value; } } // Check to see if ResolverEndpointId property is set internal bool IsSetResolverEndpointId() { return this._resolverEndpointId != null; } /// /// Gets and sets the property RuleType. /// /// When you want to forward DNS queries for specified domain name to resolvers on your /// network, specify FORWARD. /// /// /// /// When you have a forwarding rule to forward DNS queries for a domain to your network /// and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM. /// /// /// /// For example, to forward DNS queries for example.com to resolvers on your network, /// you create a rule and specify FORWARD for RuleType. To then /// have Resolver process queries for apex.example.com, you create a rule and specify /// SYSTEM for RuleType. /// /// /// /// Currently, only Resolver can create rules that have a value of RECURSIVE /// for RuleType. /// /// public RuleTypeOption RuleType { get { return this._ruleType; } set { this._ruleType = value; } } // Check to see if RuleType property is set internal bool IsSetRuleType() { return this._ruleType != null; } /// /// Gets and sets the property ShareStatus. /// /// Whether the rule is shared and, if so, whether the current account is sharing the /// rule with another account, or another account is sharing the rule with the current /// account. /// /// public ShareStatus ShareStatus { get { return this._shareStatus; } set { this._shareStatus = value; } } // Check to see if ShareStatus property is set internal bool IsSetShareStatus() { return this._shareStatus != null; } /// /// Gets and sets the property Status. /// /// A code that specifies the current status of the Resolver rule. /// /// public ResolverRuleStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property StatusMessage. /// /// A detailed description of the status of a Resolver rule. /// /// [AWSProperty(Max=255)] public string StatusMessage { get { return this._statusMessage; } set { this._statusMessage = value; } } // Check to see if StatusMessage property is set internal bool IsSetStatusMessage() { return this._statusMessage != null; } /// /// Gets and sets the property TargetIps. /// /// An array that contains the IP addresses and ports that an outbound endpoint forwards /// DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. /// /// /// [AWSProperty(Min=1)] public List TargetIps { get { return this._targetIps; } set { this._targetIps = value; } } // Check to see if TargetIps property is set internal bool IsSetTargetIps() { return this._targetIps != null && this._targetIps.Count > 0; } } }