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

An Amazon FSx for NetApp ONTAP storage virtual machine (SVM) has the * following endpoints that are used to access data or to manage the SVM using the * NetApp ONTAP CLI, REST API, or NetApp CloudManager.

See Also:

* AWS * API Reference

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

An endpoint for connecting using the Internet Small Computer Systems * Interface (iSCSI) protocol.

*/ inline const SvmEndpoint& GetIscsi() const{ return m_iscsi; } /** *

An endpoint for connecting using the Internet Small Computer Systems * Interface (iSCSI) protocol.

*/ inline bool IscsiHasBeenSet() const { return m_iscsiHasBeenSet; } /** *

An endpoint for connecting using the Internet Small Computer Systems * Interface (iSCSI) protocol.

*/ inline void SetIscsi(const SvmEndpoint& value) { m_iscsiHasBeenSet = true; m_iscsi = value; } /** *

An endpoint for connecting using the Internet Small Computer Systems * Interface (iSCSI) protocol.

*/ inline void SetIscsi(SvmEndpoint&& value) { m_iscsiHasBeenSet = true; m_iscsi = std::move(value); } /** *

An endpoint for connecting using the Internet Small Computer Systems * Interface (iSCSI) protocol.

*/ inline SvmEndpoints& WithIscsi(const SvmEndpoint& value) { SetIscsi(value); return *this;} /** *

An endpoint for connecting using the Internet Small Computer Systems * Interface (iSCSI) protocol.

*/ inline SvmEndpoints& WithIscsi(SvmEndpoint&& value) { SetIscsi(std::move(value)); return *this;} /** *

An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API, * or NetApp CloudManager.

*/ inline const SvmEndpoint& GetManagement() const{ return m_management; } /** *

An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API, * or NetApp CloudManager.

*/ inline bool ManagementHasBeenSet() const { return m_managementHasBeenSet; } /** *

An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API, * or NetApp CloudManager.

*/ inline void SetManagement(const SvmEndpoint& value) { m_managementHasBeenSet = true; m_management = value; } /** *

An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API, * or NetApp CloudManager.

*/ inline void SetManagement(SvmEndpoint&& value) { m_managementHasBeenSet = true; m_management = std::move(value); } /** *

An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API, * or NetApp CloudManager.

*/ inline SvmEndpoints& WithManagement(const SvmEndpoint& value) { SetManagement(value); return *this;} /** *

An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API, * or NetApp CloudManager.

*/ inline SvmEndpoints& WithManagement(SvmEndpoint&& value) { SetManagement(std::move(value)); return *this;} /** *

An endpoint for connecting using the Network File System (NFS) protocol.

*/ inline const SvmEndpoint& GetNfs() const{ return m_nfs; } /** *

An endpoint for connecting using the Network File System (NFS) protocol.

*/ inline bool NfsHasBeenSet() const { return m_nfsHasBeenSet; } /** *

An endpoint for connecting using the Network File System (NFS) protocol.

*/ inline void SetNfs(const SvmEndpoint& value) { m_nfsHasBeenSet = true; m_nfs = value; } /** *

An endpoint for connecting using the Network File System (NFS) protocol.

*/ inline void SetNfs(SvmEndpoint&& value) { m_nfsHasBeenSet = true; m_nfs = std::move(value); } /** *

An endpoint for connecting using the Network File System (NFS) protocol.

*/ inline SvmEndpoints& WithNfs(const SvmEndpoint& value) { SetNfs(value); return *this;} /** *

An endpoint for connecting using the Network File System (NFS) protocol.

*/ inline SvmEndpoints& WithNfs(SvmEndpoint&& value) { SetNfs(std::move(value)); return *this;} /** *

An endpoint for connecting using the Server Message Block (SMB) protocol.

*/ inline const SvmEndpoint& GetSmb() const{ return m_smb; } /** *

An endpoint for connecting using the Server Message Block (SMB) protocol.

*/ inline bool SmbHasBeenSet() const { return m_smbHasBeenSet; } /** *

An endpoint for connecting using the Server Message Block (SMB) protocol.

*/ inline void SetSmb(const SvmEndpoint& value) { m_smbHasBeenSet = true; m_smb = value; } /** *

An endpoint for connecting using the Server Message Block (SMB) protocol.

*/ inline void SetSmb(SvmEndpoint&& value) { m_smbHasBeenSet = true; m_smb = std::move(value); } /** *

An endpoint for connecting using the Server Message Block (SMB) protocol.

*/ inline SvmEndpoints& WithSmb(const SvmEndpoint& value) { SetSmb(value); return *this;} /** *

An endpoint for connecting using the Server Message Block (SMB) protocol.

*/ inline SvmEndpoints& WithSmb(SvmEndpoint&& value) { SetSmb(std::move(value)); return *this;} private: SvmEndpoint m_iscsi; bool m_iscsiHasBeenSet = false; SvmEndpoint m_management; bool m_managementHasBeenSet = false; SvmEndpoint m_nfs; bool m_nfsHasBeenSet = false; SvmEndpoint m_smb; bool m_smbHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws