/*
* 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 route53-2013-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.Route53.Model
{
///
/// Container for the parameters to the TestDNSAnswer operation.
/// Gets the value that Amazon Route 53 returns in response to a DNS request for a specified
/// record name and type. You can optionally specify the IP address of a DNS resolver,
/// an EDNS0 client subnet IP address, and a subnet mask.
///
///
///
/// This call only supports querying public hosted zones.
///
///
///
/// The TestDnsAnswer
returns information similar to what you would expect
/// from the answer section of the dig
command. Therefore, if you query for
/// the name servers of a subdomain that point to the parent name servers, those will
/// not be returned.
///
///
///
public partial class TestDNSAnswerRequest : AmazonRoute53Request
{
private string _hostedZoneId;
private string _recordName;
private RRType _recordType;
private string _resolverIP;
private string _edns0ClientSubnetIP;
private string _edns0ClientSubnetMask;
///
/// Gets and sets the property HostedZoneId.
///
/// The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.
///
///
[AWSProperty(Required=true, Max=32)]
public string HostedZoneId
{
get { return this._hostedZoneId; }
set { this._hostedZoneId = value; }
}
// Check to see if HostedZoneId property is set
internal bool IsSetHostedZoneId()
{
return this._hostedZoneId != null;
}
///
/// Gets and sets the property RecordName.
///
/// The name of the resource record set that you want Amazon Route 53 to simulate a query
/// for.
///
///
[AWSProperty(Required=true, Max=1024)]
public string RecordName
{
get { return this._recordName; }
set { this._recordName = value; }
}
// Check to see if RecordName property is set
internal bool IsSetRecordName()
{
return this._recordName != null;
}
///
/// Gets and sets the property RecordType.
///
/// The type of the resource record set.
///
///
[AWSProperty(Required=true)]
public RRType RecordType
{
get { return this._recordType; }
set { this._recordType = value; }
}
// Check to see if RecordType property is set
internal bool IsSetRecordType()
{
return this._recordType != null;
}
///
/// Gets and sets the property ResolverIP.
///
/// If you want to simulate a request from a specific DNS resolver, specify the IP address
/// for that resolver. If you omit this value, TestDnsAnswer
uses the IP
/// address of a DNS resolver in the Amazon Web Services US East (N. Virginia) Region
/// (us-east-1
).
///
///
[AWSProperty(Max=45)]
public string ResolverIP
{
get { return this._resolverIP; }
set { this._resolverIP = value; }
}
// Check to see if ResolverIP property is set
internal bool IsSetResolverIP()
{
return this._resolverIP != null;
}
///
/// Gets and sets the property EDNS0ClientSubnetIP.
///
/// If the resolver that you specified for resolverip supports EDNS0, specify the IPv4
/// or IPv6 address of a client in the applicable location, for example, 192.0.2.44
/// or 2001:db8:85a3::8a2e:370:7334
.
///
///
[AWSProperty(Max=45)]
public string EDNS0ClientSubnetIP
{
get { return this._edns0ClientSubnetIP; }
set { this._edns0ClientSubnetIP = value; }
}
// Check to see if EDNS0ClientSubnetIP property is set
internal bool IsSetEDNS0ClientSubnetIP()
{
return this._edns0ClientSubnetIP != null;
}
///
/// Gets and sets the property EDNS0ClientSubnetMask.
///
/// If you specify an IP address for edns0clientsubnetip
, you can optionally
/// specify the number of bits of the IP address that you want the checking tool to include
/// in the DNS query. For example, if you specify 192.0.2.44
for edns0clientsubnetip
/// and 24
for edns0clientsubnetmask
, the checking tool will
/// simulate a request from 192.0.2.0/24. The default value is 24 bits for IPv4 addresses
/// and 64 bits for IPv6 addresses.
///
///
///
/// The range of valid values depends on whether edns0clientsubnetip
is an
/// IPv4 or an IPv6 address:
///
/// -
///
/// IPv4: Specify a value between 0 and 32
///
///
-
///
/// IPv6: Specify a value between 0 and 128
///
///
///
[AWSProperty(Min=0, Max=3)]
public string EDNS0ClientSubnetMask
{
get { return this._edns0ClientSubnetMask; }
set { this._edns0ClientSubnetMask = value; }
}
// Check to see if EDNS0ClientSubnetMask property is set
internal bool IsSetEDNS0ClientSubnetMask()
{
return this._edns0ClientSubnetMask != null;
}
}
}