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

Required if the RootDirectory > Path specified * does not exist. Specifies the POSIX IDs and permissions to apply to the access * point's RootDirectory > Path. If the access point * root directory does not exist, EFS creates it with these settings when a client * connects to the access point. When specifying CreationInfo, you * must include values for all properties.

Amazon EFS creates a root * directory only if you have provided the CreationInfo: OwnUid, OwnGID, and * permissions for the directory. If you do not provide this information, Amazon * EFS does not create the root directory. If the root directory does not exist, * attempts to mount using the access point will fail.

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

See Also:

AWS * API Reference

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

Specifies the POSIX user ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline long long GetOwnerUid() const{ return m_ownerUid; } /** *

Specifies the POSIX user ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline bool OwnerUidHasBeenSet() const { return m_ownerUidHasBeenSet; } /** *

Specifies the POSIX user ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline void SetOwnerUid(long long value) { m_ownerUidHasBeenSet = true; m_ownerUid = value; } /** *

Specifies the POSIX user ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline CreationInfo& WithOwnerUid(long long value) { SetOwnerUid(value); return *this;} /** *

Specifies the POSIX group ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline long long GetOwnerGid() const{ return m_ownerGid; } /** *

Specifies the POSIX group ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline bool OwnerGidHasBeenSet() const { return m_ownerGidHasBeenSet; } /** *

Specifies the POSIX group ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline void SetOwnerGid(long long value) { m_ownerGidHasBeenSet = true; m_ownerGid = value; } /** *

Specifies the POSIX group ID to apply to the RootDirectory. * Accepts values from 0 to 2^32 (4294967295).

*/ inline CreationInfo& WithOwnerGid(long long value) { SetOwnerGid(value); return *this;} /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline const Aws::String& GetPermissions() const{ return m_permissions; } /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; } /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline void SetPermissions(const Aws::String& value) { m_permissionsHasBeenSet = true; m_permissions = value; } /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline void SetPermissions(Aws::String&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); } /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline void SetPermissions(const char* value) { m_permissionsHasBeenSet = true; m_permissions.assign(value); } /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline CreationInfo& WithPermissions(const Aws::String& value) { SetPermissions(value); return *this;} /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline CreationInfo& WithPermissions(Aws::String&& value) { SetPermissions(std::move(value)); return *this;} /** *

Specifies the POSIX permissions to apply to the RootDirectory, * in the format of an octal number representing the file's mode bits.

*/ inline CreationInfo& WithPermissions(const char* value) { SetPermissions(value); return *this;} private: long long m_ownerUid; bool m_ownerUidHasBeenSet = false; long long m_ownerGid; bool m_ownerGidHasBeenSet = false; Aws::String m_permissions; bool m_permissionsHasBeenSet = false; }; } // namespace Model } // namespace EFS } // namespace Aws