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

This parameter is specified when you're using Amazon * FSx for Windows File Server file system for task storage.

For more * information and the input format, see Amazon * FSx for Windows File Server volumes in the Amazon Elastic Container * Service Developer Guide.

See Also:

AWS * API Reference

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

The Amazon FSx for Windows File Server file system ID to use.

*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *

The Amazon FSx for Windows File Server file system ID to use.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline const Aws::String& GetRootDirectory() const{ return m_rootDirectory; } /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline bool RootDirectoryHasBeenSet() const { return m_rootDirectoryHasBeenSet; } /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline void SetRootDirectory(const Aws::String& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = value; } /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline void SetRootDirectory(Aws::String&& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = std::move(value); } /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline void SetRootDirectory(const char* value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory.assign(value); } /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithRootDirectory(const Aws::String& value) { SetRootDirectory(value); return *this;} /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithRootDirectory(Aws::String&& value) { SetRootDirectory(std::move(value)); return *this;} /** *

The directory within the Amazon FSx for Windows File Server file system to * mount as the root directory inside the host.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithRootDirectory(const char* value) { SetRootDirectory(value); return *this;} /** *

The authorization configuration details for the Amazon FSx for Windows File * Server file system.

*/ inline const FSxWindowsFileServerAuthorizationConfig& GetAuthorizationConfig() const{ return m_authorizationConfig; } /** *

The authorization configuration details for the Amazon FSx for Windows File * Server file system.

*/ inline bool AuthorizationConfigHasBeenSet() const { return m_authorizationConfigHasBeenSet; } /** *

The authorization configuration details for the Amazon FSx for Windows File * Server file system.

*/ inline void SetAuthorizationConfig(const FSxWindowsFileServerAuthorizationConfig& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = value; } /** *

The authorization configuration details for the Amazon FSx for Windows File * Server file system.

*/ inline void SetAuthorizationConfig(FSxWindowsFileServerAuthorizationConfig&& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = std::move(value); } /** *

The authorization configuration details for the Amazon FSx for Windows File * Server file system.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithAuthorizationConfig(const FSxWindowsFileServerAuthorizationConfig& value) { SetAuthorizationConfig(value); return *this;} /** *

The authorization configuration details for the Amazon FSx for Windows File * Server file system.

*/ inline FSxWindowsFileServerVolumeConfiguration& WithAuthorizationConfig(FSxWindowsFileServerAuthorizationConfig&& value) { SetAuthorizationConfig(std::move(value)); return *this;} private: Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; Aws::String m_rootDirectory; bool m_rootDirectoryHasBeenSet = false; FSxWindowsFileServerAuthorizationConfig m_authorizationConfig; bool m_authorizationConfigHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws