/** * 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 { /** *

Specifies the version of the Server Message Block (SMB) protocol that * DataSync uses to access an SMB file server.

See Also:

AWS * API Reference

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

By default, DataSync automatically chooses an SMB protocol version based on * negotiation with your SMB file server. You also can configure DataSync to use a * specific SMB version, but we recommend doing this only if DataSync has trouble * negotiating with the SMB file server automatically.

These are the * following options for configuring the SMB version:

  • * AUTOMATIC (default): DataSync and the SMB file server negotiate the * highest version of SMB that they mutually support between 2.1 and 3.1.1.

    *

    This is the recommended option. If you instead choose a specific version that * your file server doesn't support, you may get an Operation Not * Supported error.

  • SMB3: Restricts the * protocol negotiation to only SMB version 3.0.2.

  • * SMB2: Restricts the protocol negotiation to only SMB version * 2.1.

  • SMB2_0: Restricts the protocol negotiation * to only SMB version 2.0.

  • SMB1: Restricts the * protocol negotiation to only SMB version 1.0.

    The * SMB1 option isn't available when creating * an Amazon FSx for NetApp ONTAP location.

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

By default, DataSync automatically chooses an SMB protocol version based on * negotiation with your SMB file server. You also can configure DataSync to use a * specific SMB version, but we recommend doing this only if DataSync has trouble * negotiating with the SMB file server automatically.

These are the * following options for configuring the SMB version:

  • * AUTOMATIC (default): DataSync and the SMB file server negotiate the * highest version of SMB that they mutually support between 2.1 and 3.1.1.

    *

    This is the recommended option. If you instead choose a specific version that * your file server doesn't support, you may get an Operation Not * Supported error.

  • SMB3: Restricts the * protocol negotiation to only SMB version 3.0.2.

  • * SMB2: Restricts the protocol negotiation to only SMB version * 2.1.

  • SMB2_0: Restricts the protocol negotiation * to only SMB version 2.0.

  • SMB1: Restricts the * protocol negotiation to only SMB version 1.0.

    The * SMB1 option isn't available when creating * an Amazon FSx for NetApp ONTAP location.

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

By default, DataSync automatically chooses an SMB protocol version based on * negotiation with your SMB file server. You also can configure DataSync to use a * specific SMB version, but we recommend doing this only if DataSync has trouble * negotiating with the SMB file server automatically.

These are the * following options for configuring the SMB version:

  • * AUTOMATIC (default): DataSync and the SMB file server negotiate the * highest version of SMB that they mutually support between 2.1 and 3.1.1.

    *

    This is the recommended option. If you instead choose a specific version that * your file server doesn't support, you may get an Operation Not * Supported error.

  • SMB3: Restricts the * protocol negotiation to only SMB version 3.0.2.

  • * SMB2: Restricts the protocol negotiation to only SMB version * 2.1.

  • SMB2_0: Restricts the protocol negotiation * to only SMB version 2.0.

  • SMB1: Restricts the * protocol negotiation to only SMB version 1.0.

    The * SMB1 option isn't available when creating * an Amazon FSx for NetApp ONTAP location.

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

By default, DataSync automatically chooses an SMB protocol version based on * negotiation with your SMB file server. You also can configure DataSync to use a * specific SMB version, but we recommend doing this only if DataSync has trouble * negotiating with the SMB file server automatically.

These are the * following options for configuring the SMB version:

  • * AUTOMATIC (default): DataSync and the SMB file server negotiate the * highest version of SMB that they mutually support between 2.1 and 3.1.1.

    *

    This is the recommended option. If you instead choose a specific version that * your file server doesn't support, you may get an Operation Not * Supported error.

  • SMB3: Restricts the * protocol negotiation to only SMB version 3.0.2.

  • * SMB2: Restricts the protocol negotiation to only SMB version * 2.1.

  • SMB2_0: Restricts the protocol negotiation * to only SMB version 2.0.

  • SMB1: Restricts the * protocol negotiation to only SMB version 1.0.

    The * SMB1 option isn't available when creating * an Amazon FSx for NetApp ONTAP location.

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

By default, DataSync automatically chooses an SMB protocol version based on * negotiation with your SMB file server. You also can configure DataSync to use a * specific SMB version, but we recommend doing this only if DataSync has trouble * negotiating with the SMB file server automatically.

These are the * following options for configuring the SMB version:

  • * AUTOMATIC (default): DataSync and the SMB file server negotiate the * highest version of SMB that they mutually support between 2.1 and 3.1.1.

    *

    This is the recommended option. If you instead choose a specific version that * your file server doesn't support, you may get an Operation Not * Supported error.

  • SMB3: Restricts the * protocol negotiation to only SMB version 3.0.2.

  • * SMB2: Restricts the protocol negotiation to only SMB version * 2.1.

  • SMB2_0: Restricts the protocol negotiation * to only SMB version 2.0.

  • SMB1: Restricts the * protocol negotiation to only SMB version 1.0.

    The * SMB1 option isn't available when creating * an Amazon FSx for NetApp ONTAP location.

*/ inline SmbMountOptions& WithVersion(const SmbVersion& value) { SetVersion(value); return *this;} /** *

By default, DataSync automatically chooses an SMB protocol version based on * negotiation with your SMB file server. You also can configure DataSync to use a * specific SMB version, but we recommend doing this only if DataSync has trouble * negotiating with the SMB file server automatically.

These are the * following options for configuring the SMB version:

  • * AUTOMATIC (default): DataSync and the SMB file server negotiate the * highest version of SMB that they mutually support between 2.1 and 3.1.1.

    *

    This is the recommended option. If you instead choose a specific version that * your file server doesn't support, you may get an Operation Not * Supported error.

  • SMB3: Restricts the * protocol negotiation to only SMB version 3.0.2.

  • * SMB2: Restricts the protocol negotiation to only SMB version * 2.1.

  • SMB2_0: Restricts the protocol negotiation * to only SMB version 2.0.

  • SMB1: Restricts the * protocol negotiation to only SMB version 1.0.

    The * SMB1 option isn't available when creating * an Amazon FSx for NetApp ONTAP location.

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