/* * 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 { /// /// Container for the parameters to the CreateResolverRule operation. /// For DNS queries that originate in your VPCs, specifies which Resolver endpoint the /// queries pass through, one domain name that you want to forward to your network, and /// the IP addresses of the DNS resolvers in your network. /// public partial class CreateResolverRuleRequest : AmazonRoute53ResolverRequest { private string _creatorRequestId; private string _domainName; private string _name; private string _resolverEndpointId; private RuleTypeOption _ruleType; private List _tags = new List(); private List _targetIps = new List(); /// /// Gets and sets the property CreatorRequestId. /// /// A unique string that identifies the request and that allows failed requests to be /// retried without the risk of running the operation twice. CreatorRequestId /// can be any unique string, for example, a date/time stamp. /// /// [AWSProperty(Required=true, 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 you specify /// in TargetIps. If a query matches multiple Resolver rules (example.com /// and www.example.com), outbound DNS queries are routed using the Resolver rule that /// contains the most specific domain name (www.example.com). /// /// [AWSProperty(Required=true, 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 Name. /// /// A friendly name that lets you easily find a rule in the Resolver dashboard in the /// Route 53 console. /// /// [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 ResolverEndpointId. /// /// The ID of the outbound Resolver endpoint that you want to use to route DNS queries /// to the IP addresses that you specify in TargetIps. /// /// [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. /// /// [AWSProperty(Required=true)] 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 Tags. /// /// A list of the tag keys and values that you want to associate with the endpoint. /// /// [AWSProperty(Max=200)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property TargetIps. /// /// The IPs that you want Resolver to forward DNS queries to. You can specify either Ipv4 /// or Ipv6 addresses but not both in the same rule. Separate IP addresses with a space. /// /// /// /// TargetIps is available only when the value of Rule type /// is FORWARD. /// /// [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; } } }