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

Describes Network File System (NFS) file share default values. Files and * folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix * file permissions assigned to them. Upon discovery in an S3 bucket by Storage * Gateway, the S3 objects that represent files and folders are assigned these * default Unix permissions. This operation is only supported for S3 File * Gateways.

See Also:

AWS * API Reference

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

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline const Aws::String& GetFileMode() const{ return m_fileMode; } /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline bool FileModeHasBeenSet() const { return m_fileModeHasBeenSet; } /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline void SetFileMode(const Aws::String& value) { m_fileModeHasBeenSet = true; m_fileMode = value; } /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline void SetFileMode(Aws::String&& value) { m_fileModeHasBeenSet = true; m_fileMode = std::move(value); } /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline void SetFileMode(const char* value) { m_fileModeHasBeenSet = true; m_fileMode.assign(value); } /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline NFSFileShareDefaults& WithFileMode(const Aws::String& value) { SetFileMode(value); return *this;} /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline NFSFileShareDefaults& WithFileMode(Aws::String&& value) { SetFileMode(std::move(value)); return *this;} /** *

The Unix file mode in the form "nnnn". For example, 0666 * represents the default file mode inside the file share. The default value is * 0666.

*/ inline NFSFileShareDefaults& WithFileMode(const char* value) { SetFileMode(value); return *this;} /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline const Aws::String& GetDirectoryMode() const{ return m_directoryMode; } /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline bool DirectoryModeHasBeenSet() const { return m_directoryModeHasBeenSet; } /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline void SetDirectoryMode(const Aws::String& value) { m_directoryModeHasBeenSet = true; m_directoryMode = value; } /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline void SetDirectoryMode(Aws::String&& value) { m_directoryModeHasBeenSet = true; m_directoryMode = std::move(value); } /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline void SetDirectoryMode(const char* value) { m_directoryModeHasBeenSet = true; m_directoryMode.assign(value); } /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline NFSFileShareDefaults& WithDirectoryMode(const Aws::String& value) { SetDirectoryMode(value); return *this;} /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline NFSFileShareDefaults& WithDirectoryMode(Aws::String&& value) { SetDirectoryMode(std::move(value)); return *this;} /** *

The Unix directory mode in the form "nnnn". For example, 0666 * represents the default access mode for all directories inside the file share. * The default value is 0777.

*/ inline NFSFileShareDefaults& WithDirectoryMode(const char* value) { SetDirectoryMode(value); return *this;} /** *

The default group ID for the file share (unless the files have another group * ID specified). The default value is nfsnobody.

*/ inline long long GetGroupId() const{ return m_groupId; } /** *

The default group ID for the file share (unless the files have another group * ID specified). The default value is nfsnobody.

*/ inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } /** *

The default group ID for the file share (unless the files have another group * ID specified). The default value is nfsnobody.

*/ inline void SetGroupId(long long value) { m_groupIdHasBeenSet = true; m_groupId = value; } /** *

The default group ID for the file share (unless the files have another group * ID specified). The default value is nfsnobody.

*/ inline NFSFileShareDefaults& WithGroupId(long long value) { SetGroupId(value); return *this;} /** *

The default owner ID for files in the file share (unless the files have * another owner ID specified). The default value is nfsnobody.

*/ inline long long GetOwnerId() const{ return m_ownerId; } /** *

The default owner ID for files in the file share (unless the files have * another owner ID specified). The default value is nfsnobody.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The default owner ID for files in the file share (unless the files have * another owner ID specified). The default value is nfsnobody.

*/ inline void SetOwnerId(long long value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

The default owner ID for files in the file share (unless the files have * another owner ID specified). The default value is nfsnobody.

*/ inline NFSFileShareDefaults& WithOwnerId(long long value) { SetOwnerId(value); return *this;} private: Aws::String m_fileMode; bool m_fileModeHasBeenSet = false; Aws::String m_directoryMode; bool m_directoryModeHasBeenSet = false; long long m_groupId; bool m_groupIdHasBeenSet = false; long long m_ownerId; bool m_ownerIdHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws