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

Represents the mount options that are available for DataSync to access an NFS * location.

See Also:

AWS * API Reference

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

The specific NFS version that you want DataSync to use to mount your NFS * share. If the server refuses to use the version specified, the sync will fail. * If you don't specify a version, DataSync defaults to AUTOMATIC. * That is, DataSync automatically selects a version based on negotiation with the * NFS server.

You can specify the following NFS versions:

  • * NFSv3 - stateless * protocol version that allows for asynchronous writes on the server.

  • *
  • NFSv4.0 - * stateful, firewall-friendly protocol version that supports delegations and * pseudo filesystems.

  • NFSv4.1 - stateful protocol * version that supports sessions, directory delegations, and parallel data * processing. Version 4.1 also includes all features available in version 4.0.

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

The specific NFS version that you want DataSync to use to mount your NFS * share. If the server refuses to use the version specified, the sync will fail. * If you don't specify a version, DataSync defaults to AUTOMATIC. * That is, DataSync automatically selects a version based on negotiation with the * NFS server.

You can specify the following NFS versions:

  • * NFSv3 - stateless * protocol version that allows for asynchronous writes on the server.

  • *
  • NFSv4.0 - * stateful, firewall-friendly protocol version that supports delegations and * pseudo filesystems.

  • NFSv4.1 - stateful protocol * version that supports sessions, directory delegations, and parallel data * processing. Version 4.1 also includes all features available in version 4.0.

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

The specific NFS version that you want DataSync to use to mount your NFS * share. If the server refuses to use the version specified, the sync will fail. * If you don't specify a version, DataSync defaults to AUTOMATIC. * That is, DataSync automatically selects a version based on negotiation with the * NFS server.

You can specify the following NFS versions:

  • * NFSv3 - stateless * protocol version that allows for asynchronous writes on the server.

  • *
  • NFSv4.0 - * stateful, firewall-friendly protocol version that supports delegations and * pseudo filesystems.

  • NFSv4.1 - stateful protocol * version that supports sessions, directory delegations, and parallel data * processing. Version 4.1 also includes all features available in version 4.0.

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

The specific NFS version that you want DataSync to use to mount your NFS * share. If the server refuses to use the version specified, the sync will fail. * If you don't specify a version, DataSync defaults to AUTOMATIC. * That is, DataSync automatically selects a version based on negotiation with the * NFS server.

You can specify the following NFS versions:

  • * NFSv3 - stateless * protocol version that allows for asynchronous writes on the server.

  • *
  • NFSv4.0 - * stateful, firewall-friendly protocol version that supports delegations and * pseudo filesystems.

  • NFSv4.1 - stateful protocol * version that supports sessions, directory delegations, and parallel data * processing. Version 4.1 also includes all features available in version 4.0.

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

The specific NFS version that you want DataSync to use to mount your NFS * share. If the server refuses to use the version specified, the sync will fail. * If you don't specify a version, DataSync defaults to AUTOMATIC. * That is, DataSync automatically selects a version based on negotiation with the * NFS server.

You can specify the following NFS versions:

  • * NFSv3 - stateless * protocol version that allows for asynchronous writes on the server.

  • *
  • NFSv4.0 - * stateful, firewall-friendly protocol version that supports delegations and * pseudo filesystems.

  • NFSv4.1 - stateful protocol * version that supports sessions, directory delegations, and parallel data * processing. Version 4.1 also includes all features available in version 4.0.

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

The specific NFS version that you want DataSync to use to mount your NFS * share. If the server refuses to use the version specified, the sync will fail. * If you don't specify a version, DataSync defaults to AUTOMATIC. * That is, DataSync automatically selects a version based on negotiation with the * NFS server.

You can specify the following NFS versions:

  • * NFSv3 - stateless * protocol version that allows for asynchronous writes on the server.

  • *
  • NFSv4.0 - * stateful, firewall-friendly protocol version that supports delegations and * pseudo filesystems.

  • NFSv4.1 - stateful protocol * version that supports sessions, directory delegations, and parallel data * processing. Version 4.1 also includes all features available in version 4.0.

    *
*/ inline NfsMountOptions& WithVersion(NfsVersion&& value) { SetVersion(std::move(value)); return *this;} private: NfsVersion m_version; bool m_versionHasBeenSet; }; } // namespace Model } // namespace DataSync } // namespace Aws