/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DirectoryService { namespace Model { /** *

Points to a remote domain with which you are setting up a trust relationship. * Conditional forwarders are required in order to set up a trust relationship with * another domain.

See Also:

AWS * API Reference

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

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline const Aws::String& GetRemoteDomainName() const{ return m_remoteDomainName; } /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline bool RemoteDomainNameHasBeenSet() const { return m_remoteDomainNameHasBeenSet; } /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline void SetRemoteDomainName(const Aws::String& value) { m_remoteDomainNameHasBeenSet = true; m_remoteDomainName = value; } /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline void SetRemoteDomainName(Aws::String&& value) { m_remoteDomainNameHasBeenSet = true; m_remoteDomainName = std::move(value); } /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline void SetRemoteDomainName(const char* value) { m_remoteDomainNameHasBeenSet = true; m_remoteDomainName.assign(value); } /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline ConditionalForwarder& WithRemoteDomainName(const Aws::String& value) { SetRemoteDomainName(value); return *this;} /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline ConditionalForwarder& WithRemoteDomainName(Aws::String&& value) { SetRemoteDomainName(std::move(value)); return *this;} /** *

The fully qualified domain name (FQDN) of the remote domains pointed to by * the conditional forwarder.

*/ inline ConditionalForwarder& WithRemoteDomainName(const char* value) { SetRemoteDomainName(value); return *this;} /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline const Aws::Vector& GetDnsIpAddrs() const{ return m_dnsIpAddrs; } /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline bool DnsIpAddrsHasBeenSet() const { return m_dnsIpAddrsHasBeenSet; } /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline void SetDnsIpAddrs(const Aws::Vector& value) { m_dnsIpAddrsHasBeenSet = true; m_dnsIpAddrs = value; } /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline void SetDnsIpAddrs(Aws::Vector&& value) { m_dnsIpAddrsHasBeenSet = true; m_dnsIpAddrs = std::move(value); } /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline ConditionalForwarder& WithDnsIpAddrs(const Aws::Vector& value) { SetDnsIpAddrs(value); return *this;} /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline ConditionalForwarder& WithDnsIpAddrs(Aws::Vector&& value) { SetDnsIpAddrs(std::move(value)); return *this;} /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline ConditionalForwarder& AddDnsIpAddrs(const Aws::String& value) { m_dnsIpAddrsHasBeenSet = true; m_dnsIpAddrs.push_back(value); return *this; } /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline ConditionalForwarder& AddDnsIpAddrs(Aws::String&& value) { m_dnsIpAddrsHasBeenSet = true; m_dnsIpAddrs.push_back(std::move(value)); return *this; } /** *

The IP addresses of the remote DNS server associated with RemoteDomainName. * This is the IP address of the DNS server that your conditional forwarder points * to.

*/ inline ConditionalForwarder& AddDnsIpAddrs(const char* value) { m_dnsIpAddrsHasBeenSet = true; m_dnsIpAddrs.push_back(value); return *this; } /** *

The replication scope of the conditional forwarder. The only allowed value is * Domain, which will replicate the conditional forwarder to all of * the domain controllers for your Amazon Web Services directory.

*/ inline const ReplicationScope& GetReplicationScope() const{ return m_replicationScope; } /** *

The replication scope of the conditional forwarder. The only allowed value is * Domain, which will replicate the conditional forwarder to all of * the domain controllers for your Amazon Web Services directory.

*/ inline bool ReplicationScopeHasBeenSet() const { return m_replicationScopeHasBeenSet; } /** *

The replication scope of the conditional forwarder. The only allowed value is * Domain, which will replicate the conditional forwarder to all of * the domain controllers for your Amazon Web Services directory.

*/ inline void SetReplicationScope(const ReplicationScope& value) { m_replicationScopeHasBeenSet = true; m_replicationScope = value; } /** *

The replication scope of the conditional forwarder. The only allowed value is * Domain, which will replicate the conditional forwarder to all of * the domain controllers for your Amazon Web Services directory.

*/ inline void SetReplicationScope(ReplicationScope&& value) { m_replicationScopeHasBeenSet = true; m_replicationScope = std::move(value); } /** *

The replication scope of the conditional forwarder. The only allowed value is * Domain, which will replicate the conditional forwarder to all of * the domain controllers for your Amazon Web Services directory.

*/ inline ConditionalForwarder& WithReplicationScope(const ReplicationScope& value) { SetReplicationScope(value); return *this;} /** *

The replication scope of the conditional forwarder. The only allowed value is * Domain, which will replicate the conditional forwarder to all of * the domain controllers for your Amazon Web Services directory.

*/ inline ConditionalForwarder& WithReplicationScope(ReplicationScope&& value) { SetReplicationScope(std::move(value)); return *this;} private: Aws::String m_remoteDomainName; bool m_remoteDomainNameHasBeenSet = false; Aws::Vector m_dnsIpAddrs; bool m_dnsIpAddrsHasBeenSet = false; ReplicationScope m_replicationScope; bool m_replicationScopeHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws