/** * 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 volume that Linux processes in a container can * access. When you define a volume, the IoT Greengrass Core software mounts the * source files to the destination inside the container.

See Also:

* AWS * API Reference

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

The path to the physical volume in the file system.

*/ inline const Aws::String& GetSourcePath() const{ return m_sourcePath; } /** *

The path to the physical volume in the file system.

*/ inline bool SourcePathHasBeenSet() const { return m_sourcePathHasBeenSet; } /** *

The path to the physical volume in the file system.

*/ inline void SetSourcePath(const Aws::String& value) { m_sourcePathHasBeenSet = true; m_sourcePath = value; } /** *

The path to the physical volume in the file system.

*/ inline void SetSourcePath(Aws::String&& value) { m_sourcePathHasBeenSet = true; m_sourcePath = std::move(value); } /** *

The path to the physical volume in the file system.

*/ inline void SetSourcePath(const char* value) { m_sourcePathHasBeenSet = true; m_sourcePath.assign(value); } /** *

The path to the physical volume in the file system.

*/ inline LambdaVolumeMount& WithSourcePath(const Aws::String& value) { SetSourcePath(value); return *this;} /** *

The path to the physical volume in the file system.

*/ inline LambdaVolumeMount& WithSourcePath(Aws::String&& value) { SetSourcePath(std::move(value)); return *this;} /** *

The path to the physical volume in the file system.

*/ inline LambdaVolumeMount& WithSourcePath(const char* value) { SetSourcePath(value); return *this;} /** *

The path to the logical volume in the file system.

*/ inline const Aws::String& GetDestinationPath() const{ return m_destinationPath; } /** *

The path to the logical volume in the file system.

*/ inline bool DestinationPathHasBeenSet() const { return m_destinationPathHasBeenSet; } /** *

The path to the logical volume in the file system.

*/ inline void SetDestinationPath(const Aws::String& value) { m_destinationPathHasBeenSet = true; m_destinationPath = value; } /** *

The path to the logical volume in the file system.

*/ inline void SetDestinationPath(Aws::String&& value) { m_destinationPathHasBeenSet = true; m_destinationPath = std::move(value); } /** *

The path to the logical volume in the file system.

*/ inline void SetDestinationPath(const char* value) { m_destinationPathHasBeenSet = true; m_destinationPath.assign(value); } /** *

The path to the logical volume in the file system.

*/ inline LambdaVolumeMount& WithDestinationPath(const Aws::String& value) { SetDestinationPath(value); return *this;} /** *

The path to the logical volume in the file system.

*/ inline LambdaVolumeMount& WithDestinationPath(Aws::String&& value) { SetDestinationPath(std::move(value)); return *this;} /** *

The path to the logical volume in the file system.

*/ inline LambdaVolumeMount& WithDestinationPath(const char* value) { SetDestinationPath(value); return *this;} /** *

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

Default: ro

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

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

Default: ro

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

The permission to access the volume: 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 volume: 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 volume: read/only (ro) or * read/write (rw).

Default: ro

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

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

Default: ro

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

Whether or not to add the IoT Greengrass user group as an owner of the * volume.

Default: false

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

Whether or not to add the IoT Greengrass user group as an owner of the * volume.

Default: false

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

Whether or not to add the IoT Greengrass user group as an owner of the * volume.

Default: false

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

Whether or not to add the IoT Greengrass user group as an owner of the * volume.

Default: false

*/ inline LambdaVolumeMount& WithAddGroupOwner(bool value) { SetAddGroupOwner(value); return *this;} private: Aws::String m_sourcePath; bool m_sourcePathHasBeenSet = false; Aws::String m_destinationPath; bool m_destinationPathHasBeenSet = false; LambdaFilesystemPermission m_permission; bool m_permissionHasBeenSet = false; bool m_addGroupOwner; bool m_addGroupOwnerHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws