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

Specifies the directory on the Amazon EFS file system that the access point * provides access to. The access point exposes the specified file system path as * the root directory of your file system to applications using the access point. * NFS clients using the access point can only access data in the access point's * RootDirectory and it's subdirectories.

See Also:

* AWS * API Reference

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

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline RootDirectory& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline RootDirectory& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

Specifies the path on the EFS file system to expose as the root directory to * NFS clients using the access point to access the EFS file system. A path can * have up to four subdirectories. If the specified path does not exist, you are * required to provide the CreationInfo.

*/ inline RootDirectory& WithPath(const char* value) { SetPath(value); return *this;} /** *

(Optional) Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory. If the RootDirectory > * Path specified does not exist, EFS creates the root directory using * the CreationInfo settings when a client connects to an access * point. When specifying the CreationInfo, you must provide values * for all properties.

If you do not provide * CreationInfo and the specified RootDirectory > * Path does not exist, attempts to mount the file system using the * access point will fail.

*/ inline const CreationInfo& GetCreationInfo() const{ return m_creationInfo; } /** *

(Optional) Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory. If the RootDirectory > * Path specified does not exist, EFS creates the root directory using * the CreationInfo settings when a client connects to an access * point. When specifying the CreationInfo, you must provide values * for all properties.

If you do not provide * CreationInfo and the specified RootDirectory > * Path does not exist, attempts to mount the file system using the * access point will fail.

*/ inline bool CreationInfoHasBeenSet() const { return m_creationInfoHasBeenSet; } /** *

(Optional) Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory. If the RootDirectory > * Path specified does not exist, EFS creates the root directory using * the CreationInfo settings when a client connects to an access * point. When specifying the CreationInfo, you must provide values * for all properties.

If you do not provide * CreationInfo and the specified RootDirectory > * Path does not exist, attempts to mount the file system using the * access point will fail.

*/ inline void SetCreationInfo(const CreationInfo& value) { m_creationInfoHasBeenSet = true; m_creationInfo = value; } /** *

(Optional) Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory. If the RootDirectory > * Path specified does not exist, EFS creates the root directory using * the CreationInfo settings when a client connects to an access * point. When specifying the CreationInfo, you must provide values * for all properties.

If you do not provide * CreationInfo and the specified RootDirectory > * Path does not exist, attempts to mount the file system using the * access point will fail.

*/ inline void SetCreationInfo(CreationInfo&& value) { m_creationInfoHasBeenSet = true; m_creationInfo = std::move(value); } /** *

(Optional) Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory. If the RootDirectory > * Path specified does not exist, EFS creates the root directory using * the CreationInfo settings when a client connects to an access * point. When specifying the CreationInfo, you must provide values * for all properties.

If you do not provide * CreationInfo and the specified RootDirectory > * Path does not exist, attempts to mount the file system using the * access point will fail.

*/ inline RootDirectory& WithCreationInfo(const CreationInfo& value) { SetCreationInfo(value); return *this;} /** *

(Optional) Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory. If the RootDirectory > * Path specified does not exist, EFS creates the root directory using * the CreationInfo settings when a client connects to an access * point. When specifying the CreationInfo, you must provide values * for all properties.

If you do not provide * CreationInfo and the specified RootDirectory > * Path does not exist, attempts to mount the file system using the * access point will fail.

*/ inline RootDirectory& WithCreationInfo(CreationInfo&& value) { SetCreationInfo(std::move(value)); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; CreationInfo m_creationInfo; bool m_creationInfoHasBeenSet = false; }; } // namespace Model } // namespace EFS } // namespace Aws