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

Contains information about a device that Linux processes in a container can * access.

See Also:

AWS * API Reference

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The mount path for the device in the file system.

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

The permission to access the device: read/only (ro) or * read/write (rw).

Default: ro

*/ inline const LambdaFilesystemPermission& GetPermission() const{ return m_permission; } /** *

The permission to access the device: read/only (ro) or * read/write (rw).

Default: ro

*/ inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } /** *

The permission to access the device: read/only (ro) or * read/write (rw).

Default: ro

*/ inline void SetPermission(const LambdaFilesystemPermission& value) { m_permissionHasBeenSet = true; m_permission = value; } /** *

The permission to access the device: read/only (ro) or * read/write (rw).

Default: ro

*/ inline void SetPermission(LambdaFilesystemPermission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } /** *

The permission to access the device: read/only (ro) or * read/write (rw).

Default: ro

*/ inline LambdaDeviceMount& WithPermission(const LambdaFilesystemPermission& value) { SetPermission(value); return *this;} /** *

The permission to access the device: read/only (ro) or * read/write (rw).

Default: ro

*/ inline LambdaDeviceMount& WithPermission(LambdaFilesystemPermission&& value) { SetPermission(std::move(value)); return *this;} /** *

Whether or not to add the component's system user as an owner of the * device.

Default: false

*/ inline bool GetAddGroupOwner() const{ return m_addGroupOwner; } /** *

Whether or not to add the component's system user as an owner of the * device.

Default: false

*/ inline bool AddGroupOwnerHasBeenSet() const { return m_addGroupOwnerHasBeenSet; } /** *

Whether or not to add the component's system user as an owner of the * device.

Default: false

*/ inline void SetAddGroupOwner(bool value) { m_addGroupOwnerHasBeenSet = true; m_addGroupOwner = value; } /** *

Whether or not to add the component's system user as an owner of the * device.

Default: false

*/ inline LambdaDeviceMount& WithAddGroupOwner(bool value) { SetAddGroupOwner(value); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; LambdaFilesystemPermission m_permission; bool m_permissionHasBeenSet = false; bool m_addGroupOwner; bool m_addGroupOwnerHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws