/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace Route53 { namespace Model { /** *

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. *

See Also:

AWS * API Reference

*/ class TestDNSAnswerRequest : public Route53Request { public: AWS_ROUTE53_API TestDNSAnswerRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "TestDNSAnswer"; } AWS_ROUTE53_API Aws::String SerializePayload() const override; AWS_ROUTE53_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline TestDNSAnswerRequest& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline TestDNSAnswerRequest& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} /** *

The ID of the hosted zone that you want Amazon Route 53 to simulate a query * for.

*/ inline TestDNSAnswerRequest& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline const Aws::String& GetRecordName() const{ return m_recordName; } /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline bool RecordNameHasBeenSet() const { return m_recordNameHasBeenSet; } /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline void SetRecordName(const Aws::String& value) { m_recordNameHasBeenSet = true; m_recordName = value; } /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline void SetRecordName(Aws::String&& value) { m_recordNameHasBeenSet = true; m_recordName = std::move(value); } /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline void SetRecordName(const char* value) { m_recordNameHasBeenSet = true; m_recordName.assign(value); } /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline TestDNSAnswerRequest& WithRecordName(const Aws::String& value) { SetRecordName(value); return *this;} /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline TestDNSAnswerRequest& WithRecordName(Aws::String&& value) { SetRecordName(std::move(value)); return *this;} /** *

The name of the resource record set that you want Amazon Route 53 to simulate * a query for.

*/ inline TestDNSAnswerRequest& WithRecordName(const char* value) { SetRecordName(value); return *this;} /** *

The type of the resource record set.

*/ inline const RRType& GetRecordType() const{ return m_recordType; } /** *

The type of the resource record set.

*/ inline bool RecordTypeHasBeenSet() const { return m_recordTypeHasBeenSet; } /** *

The type of the resource record set.

*/ inline void SetRecordType(const RRType& value) { m_recordTypeHasBeenSet = true; m_recordType = value; } /** *

The type of the resource record set.

*/ inline void SetRecordType(RRType&& value) { m_recordTypeHasBeenSet = true; m_recordType = std::move(value); } /** *

The type of the resource record set.

*/ inline TestDNSAnswerRequest& WithRecordType(const RRType& value) { SetRecordType(value); return *this;} /** *

The type of the resource record set.

*/ inline TestDNSAnswerRequest& WithRecordType(RRType&& value) { SetRecordType(std::move(value)); return *this;} /** *

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).

*/ inline const Aws::String& GetResolverIP() const{ return m_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).

*/ inline bool ResolverIPHasBeenSet() const { return m_resolverIPHasBeenSet; } /** *

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).

*/ inline void SetResolverIP(const Aws::String& value) { m_resolverIPHasBeenSet = true; m_resolverIP = value; } /** *

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).

*/ inline void SetResolverIP(Aws::String&& value) { m_resolverIPHasBeenSet = true; m_resolverIP = std::move(value); } /** *

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).

*/ inline void SetResolverIP(const char* value) { m_resolverIPHasBeenSet = true; m_resolverIP.assign(value); } /** *

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).

*/ inline TestDNSAnswerRequest& WithResolverIP(const Aws::String& value) { SetResolverIP(value); return *this;} /** *

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).

*/ inline TestDNSAnswerRequest& WithResolverIP(Aws::String&& value) { SetResolverIP(std::move(value)); return *this;} /** *

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).

*/ inline TestDNSAnswerRequest& WithResolverIP(const char* value) { SetResolverIP(value); return *this;} /** *

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.

*/ inline const Aws::String& GetEDNS0ClientSubnetIP() const{ return m_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.

*/ inline bool EDNS0ClientSubnetIPHasBeenSet() const { return m_eDNS0ClientSubnetIPHasBeenSet; } /** *

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.

*/ inline void SetEDNS0ClientSubnetIP(const Aws::String& value) { m_eDNS0ClientSubnetIPHasBeenSet = true; m_eDNS0ClientSubnetIP = value; } /** *

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.

*/ inline void SetEDNS0ClientSubnetIP(Aws::String&& value) { m_eDNS0ClientSubnetIPHasBeenSet = true; m_eDNS0ClientSubnetIP = std::move(value); } /** *

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.

*/ inline void SetEDNS0ClientSubnetIP(const char* value) { m_eDNS0ClientSubnetIPHasBeenSet = true; m_eDNS0ClientSubnetIP.assign(value); } /** *

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.

*/ inline TestDNSAnswerRequest& WithEDNS0ClientSubnetIP(const Aws::String& value) { SetEDNS0ClientSubnetIP(value); return *this;} /** *

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.

*/ inline TestDNSAnswerRequest& WithEDNS0ClientSubnetIP(Aws::String&& value) { SetEDNS0ClientSubnetIP(std::move(value)); return *this;} /** *

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.

*/ inline TestDNSAnswerRequest& WithEDNS0ClientSubnetIP(const char* value) { SetEDNS0ClientSubnetIP(value); return *this;} /** *

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

*/ inline const Aws::String& GetEDNS0ClientSubnetMask() const{ return m_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

*/ inline bool EDNS0ClientSubnetMaskHasBeenSet() const { return m_eDNS0ClientSubnetMaskHasBeenSet; } /** *

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

*/ inline void SetEDNS0ClientSubnetMask(const Aws::String& value) { m_eDNS0ClientSubnetMaskHasBeenSet = true; m_eDNS0ClientSubnetMask = value; } /** *

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

*/ inline void SetEDNS0ClientSubnetMask(Aws::String&& value) { m_eDNS0ClientSubnetMaskHasBeenSet = true; m_eDNS0ClientSubnetMask = std::move(value); } /** *

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

*/ inline void SetEDNS0ClientSubnetMask(const char* value) { m_eDNS0ClientSubnetMaskHasBeenSet = true; m_eDNS0ClientSubnetMask.assign(value); } /** *

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

*/ inline TestDNSAnswerRequest& WithEDNS0ClientSubnetMask(const Aws::String& value) { SetEDNS0ClientSubnetMask(value); return *this;} /** *

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

*/ inline TestDNSAnswerRequest& WithEDNS0ClientSubnetMask(Aws::String&& value) { SetEDNS0ClientSubnetMask(std::move(value)); return *this;} /** *

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

*/ inline TestDNSAnswerRequest& WithEDNS0ClientSubnetMask(const char* value) { SetEDNS0ClientSubnetMask(value); return *this;} private: Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet = false; Aws::String m_recordName; bool m_recordNameHasBeenSet = false; RRType m_recordType; bool m_recordTypeHasBeenSet = false; Aws::String m_resolverIP; bool m_resolverIPHasBeenSet = false; Aws::String m_eDNS0ClientSubnetIP; bool m_eDNS0ClientSubnetIPHasBeenSet = false; Aws::String m_eDNS0ClientSubnetMask; bool m_eDNS0ClientSubnetMaskHasBeenSet = false; }; } // namespace Model } // namespace Route53 } // namespace Aws