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

Name server includes the following elements.

See Also:

AWS * API Reference

*/ class Nameserver { public: AWS_ROUTE53DOMAINS_API Nameserver(); AWS_ROUTE53DOMAINS_API Nameserver(Aws::Utils::Json::JsonView jsonValue); AWS_ROUTE53DOMAINS_API Nameserver& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ROUTE53DOMAINS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline Nameserver& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline Nameserver& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The fully qualified host name of the name server.

Constraint: Maximum * 255 characters

*/ inline Nameserver& WithName(const char* value) { SetName(value); return *this;} /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline const Aws::Vector& GetGlueIps() const{ return m_glueIps; } /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline bool GlueIpsHasBeenSet() const { return m_glueIpsHasBeenSet; } /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline void SetGlueIps(const Aws::Vector& value) { m_glueIpsHasBeenSet = true; m_glueIps = value; } /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline void SetGlueIps(Aws::Vector&& value) { m_glueIpsHasBeenSet = true; m_glueIps = std::move(value); } /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline Nameserver& WithGlueIps(const Aws::Vector& value) { SetGlueIps(value); return *this;} /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline Nameserver& WithGlueIps(Aws::Vector&& value) { SetGlueIps(std::move(value)); return *this;} /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline Nameserver& AddGlueIps(const Aws::String& value) { m_glueIpsHasBeenSet = true; m_glueIps.push_back(value); return *this; } /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline Nameserver& AddGlueIps(Aws::String&& value) { m_glueIpsHasBeenSet = true; m_glueIps.push_back(std::move(value)); return *this; } /** *

Glue IP address of a name server entry. Glue IP addresses are required only * when the name of the name server is a subdomain of the domain. For example, if * your domain is example.com and the name server for the domain is ns.example.com, * you need to specify the IP address for ns.example.com.

Constraints: The * list can contain only one IPv4 and one IPv6 address.

*/ inline Nameserver& AddGlueIps(const char* value) { m_glueIpsHasBeenSet = true; m_glueIps.push_back(value); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_glueIps; bool m_glueIpsHasBeenSet = false; }; } // namespace Model } // namespace Route53Domains } // namespace Aws