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

The container path, mount options, and size of the tmpfs mount.

See * Also:

AWS API * Reference

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

The absolute file path where the tmpfs volume is to be mounted.

*/ inline const Aws::String& GetContainerPath() const{ return m_containerPath; } /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline bool ContainerPathHasBeenSet() const { return m_containerPathHasBeenSet; } /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline void SetContainerPath(const Aws::String& value) { m_containerPathHasBeenSet = true; m_containerPath = value; } /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline void SetContainerPath(Aws::String&& value) { m_containerPathHasBeenSet = true; m_containerPath = std::move(value); } /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline void SetContainerPath(const char* value) { m_containerPathHasBeenSet = true; m_containerPath.assign(value); } /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline Tmpfs& WithContainerPath(const Aws::String& value) { SetContainerPath(value); return *this;} /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline Tmpfs& WithContainerPath(Aws::String&& value) { SetContainerPath(std::move(value)); return *this;} /** *

The absolute file path where the tmpfs volume is to be mounted.

*/ inline Tmpfs& WithContainerPath(const char* value) { SetContainerPath(value); return *this;} /** *

The maximum size (in MiB) of the tmpfs volume.

*/ inline int GetSize() const{ return m_size; } /** *

The maximum size (in MiB) of the tmpfs volume.

*/ inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } /** *

The maximum size (in MiB) of the tmpfs volume.

*/ inline void SetSize(int value) { m_sizeHasBeenSet = true; m_size = value; } /** *

The maximum size (in MiB) of the tmpfs volume.

*/ inline Tmpfs& WithSize(int value) { SetSize(value); return *this;} /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline const Aws::Vector& GetMountOptions() const{ return m_mountOptions; } /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline bool MountOptionsHasBeenSet() const { return m_mountOptionsHasBeenSet; } /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline void SetMountOptions(const Aws::Vector& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = value; } /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline void SetMountOptions(Aws::Vector&& value) { m_mountOptionsHasBeenSet = true; m_mountOptions = std::move(value); } /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline Tmpfs& WithMountOptions(const Aws::Vector& value) { SetMountOptions(value); return *this;} /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline Tmpfs& WithMountOptions(Aws::Vector&& value) { SetMountOptions(std::move(value)); return *this;} /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline Tmpfs& AddMountOptions(const Aws::String& value) { m_mountOptionsHasBeenSet = true; m_mountOptions.push_back(value); return *this; } /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline Tmpfs& AddMountOptions(Aws::String&& value) { m_mountOptionsHasBeenSet = true; m_mountOptions.push_back(std::move(value)); return *this; } /** *

The list of tmpfs volume mount options.

Valid values: "defaults" * | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" * | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | * "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | * "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" * | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | * "nr_inodes" | "nr_blocks" | "mpol"

*/ inline Tmpfs& AddMountOptions(const char* value) { m_mountOptionsHasBeenSet = true; m_mountOptions.push_back(value); return *this; } private: Aws::String m_containerPath; bool m_containerPathHasBeenSet = false; int m_size; bool m_sizeHasBeenSet = false; Aws::Vector m_mountOptions; bool m_mountOptionsHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws