/** * 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 FSx { namespace Model { /** *

The configuration for an NFS data repository association (DRA) created during * the creation of the Amazon File Cache resource.

See Also:

AWS * API Reference

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

The version of the NFS (Network File System) protocol of the NFS data * repository. The only supported value is NFS3, which indicates that * the data repository must support the NFSv3 protocol.

*/ inline const NfsVersion& GetVersion() const{ return m_version; } /** *

The version of the NFS (Network File System) protocol of the NFS data * repository. The only supported value is NFS3, which indicates that * the data repository must support the NFSv3 protocol.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version of the NFS (Network File System) protocol of the NFS data * repository. The only supported value is NFS3, which indicates that * the data repository must support the NFSv3 protocol.

*/ inline void SetVersion(const NfsVersion& value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version of the NFS (Network File System) protocol of the NFS data * repository. The only supported value is NFS3, which indicates that * the data repository must support the NFSv3 protocol.

*/ inline void SetVersion(NfsVersion&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

The version of the NFS (Network File System) protocol of the NFS data * repository. The only supported value is NFS3, which indicates that * the data repository must support the NFSv3 protocol.

*/ inline FileCacheNFSConfiguration& WithVersion(const NfsVersion& value) { SetVersion(value); return *this;} /** *

The version of the NFS (Network File System) protocol of the NFS data * repository. The only supported value is NFS3, which indicates that * the data repository must support the NFSv3 protocol.

*/ inline FileCacheNFSConfiguration& WithVersion(NfsVersion&& value) { SetVersion(std::move(value)); return *this;} /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline const Aws::Vector& GetDnsIps() const{ return m_dnsIps; } /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline bool DnsIpsHasBeenSet() const { return m_dnsIpsHasBeenSet; } /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline void SetDnsIps(const Aws::Vector& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = value; } /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline void SetDnsIps(Aws::Vector&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = std::move(value); } /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline FileCacheNFSConfiguration& WithDnsIps(const Aws::Vector& value) { SetDnsIps(value); return *this;} /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline FileCacheNFSConfiguration& WithDnsIps(Aws::Vector&& value) { SetDnsIps(std::move(value)); return *this;} /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline FileCacheNFSConfiguration& AddDnsIps(const Aws::String& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; } /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline FileCacheNFSConfiguration& AddDnsIps(Aws::String&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(std::move(value)); return *this; } /** *

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file * system domain name. The provided IP addresses can either be the IP addresses of * a DNS forwarder or resolver that the customer manages and runs inside the * customer VPC, or the IP addresses of the on-premises DNS servers.

*/ inline FileCacheNFSConfiguration& AddDnsIps(const char* value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; } private: NfsVersion m_version; bool m_versionHasBeenSet = false; Aws::Vector m_dnsIps; bool m_dnsIpsHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws