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

Specifies the data transfer protocol that DataSync uses to access your Amazon * FSx file system.

See Also:

AWS * API Reference

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

Specifies the Network File System (NFS) protocol configuration that DataSync * uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's * storage virtual machine (SVM).

*/ inline const FsxProtocolNfs& GetNFS() const{ return m_nFS; } /** *

Specifies the Network File System (NFS) protocol configuration that DataSync * uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's * storage virtual machine (SVM).

*/ inline bool NFSHasBeenSet() const { return m_nFSHasBeenSet; } /** *

Specifies the Network File System (NFS) protocol configuration that DataSync * uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's * storage virtual machine (SVM).

*/ inline void SetNFS(const FsxProtocolNfs& value) { m_nFSHasBeenSet = true; m_nFS = value; } /** *

Specifies the Network File System (NFS) protocol configuration that DataSync * uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's * storage virtual machine (SVM).

*/ inline void SetNFS(FsxProtocolNfs&& value) { m_nFSHasBeenSet = true; m_nFS = std::move(value); } /** *

Specifies the Network File System (NFS) protocol configuration that DataSync * uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's * storage virtual machine (SVM).

*/ inline FsxProtocol& WithNFS(const FsxProtocolNfs& value) { SetNFS(value); return *this;} /** *

Specifies the Network File System (NFS) protocol configuration that DataSync * uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's * storage virtual machine (SVM).

*/ inline FsxProtocol& WithNFS(FsxProtocolNfs&& value) { SetNFS(std::move(value)); return *this;} /** *

Specifies the Server Message Block (SMB) protocol configuration that DataSync * uses to access your FSx for ONTAP file system's SVM.

*/ inline const FsxProtocolSmb& GetSMB() const{ return m_sMB; } /** *

Specifies the Server Message Block (SMB) protocol configuration that DataSync * uses to access your FSx for ONTAP file system's SVM.

*/ inline bool SMBHasBeenSet() const { return m_sMBHasBeenSet; } /** *

Specifies the Server Message Block (SMB) protocol configuration that DataSync * uses to access your FSx for ONTAP file system's SVM.

*/ inline void SetSMB(const FsxProtocolSmb& value) { m_sMBHasBeenSet = true; m_sMB = value; } /** *

Specifies the Server Message Block (SMB) protocol configuration that DataSync * uses to access your FSx for ONTAP file system's SVM.

*/ inline void SetSMB(FsxProtocolSmb&& value) { m_sMBHasBeenSet = true; m_sMB = std::move(value); } /** *

Specifies the Server Message Block (SMB) protocol configuration that DataSync * uses to access your FSx for ONTAP file system's SVM.

*/ inline FsxProtocol& WithSMB(const FsxProtocolSmb& value) { SetSMB(value); return *this;} /** *

Specifies the Server Message Block (SMB) protocol configuration that DataSync * uses to access your FSx for ONTAP file system's SVM.

*/ inline FsxProtocol& WithSMB(FsxProtocolSmb&& value) { SetSMB(std::move(value)); return *this;} private: FsxProtocolNfs m_nFS; bool m_nFSHasBeenSet = false; FsxProtocolSmb m_sMB; bool m_sMBHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws