/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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 container in which Lambda functions run on * Greengrass core devices.

See Also:

AWS * API Reference

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

The memory size of the container, expressed in kilobytes.

Default: * 16384 (16 MB)

*/ inline int GetMemorySizeInKB() const{ return m_memorySizeInKB; } /** *

The memory size of the container, expressed in kilobytes.

Default: * 16384 (16 MB)

*/ inline bool MemorySizeInKBHasBeenSet() const { return m_memorySizeInKBHasBeenSet; } /** *

The memory size of the container, expressed in kilobytes.

Default: * 16384 (16 MB)

*/ inline void SetMemorySizeInKB(int value) { m_memorySizeInKBHasBeenSet = true; m_memorySizeInKB = value; } /** *

The memory size of the container, expressed in kilobytes.

Default: * 16384 (16 MB)

*/ inline LambdaContainerParams& WithMemorySizeInKB(int value) { SetMemorySizeInKB(value); return *this;} /** *

Whether or not the container can read information from the device's * /sys folder.

Default: false

*/ inline bool GetMountROSysfs() const{ return m_mountROSysfs; } /** *

Whether or not the container can read information from the device's * /sys folder.

Default: false

*/ inline bool MountROSysfsHasBeenSet() const { return m_mountROSysfsHasBeenSet; } /** *

Whether or not the container can read information from the device's * /sys folder.

Default: false

*/ inline void SetMountROSysfs(bool value) { m_mountROSysfsHasBeenSet = true; m_mountROSysfs = value; } /** *

Whether or not the container can read information from the device's * /sys folder.

Default: false

*/ inline LambdaContainerParams& WithMountROSysfs(bool value) { SetMountROSysfs(value); return *this;} /** *

The list of volumes that the container can access.

*/ inline const Aws::Vector& GetVolumes() const{ return m_volumes; } /** *

The list of volumes that the container can access.

*/ inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; } /** *

The list of volumes that the container can access.

*/ inline void SetVolumes(const Aws::Vector& value) { m_volumesHasBeenSet = true; m_volumes = value; } /** *

The list of volumes that the container can access.

*/ inline void SetVolumes(Aws::Vector&& value) { m_volumesHasBeenSet = true; m_volumes = std::move(value); } /** *

The list of volumes that the container can access.

*/ inline LambdaContainerParams& WithVolumes(const Aws::Vector& value) { SetVolumes(value); return *this;} /** *

The list of volumes that the container can access.

*/ inline LambdaContainerParams& WithVolumes(Aws::Vector&& value) { SetVolumes(std::move(value)); return *this;} /** *

The list of volumes that the container can access.

*/ inline LambdaContainerParams& AddVolumes(const LambdaVolumeMount& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; } /** *

The list of volumes that the container can access.

*/ inline LambdaContainerParams& AddVolumes(LambdaVolumeMount&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; } /** *

The list of system devices that the container can access.

*/ inline const Aws::Vector& GetDevices() const{ return m_devices; } /** *

The list of system devices that the container can access.

*/ inline bool DevicesHasBeenSet() const { return m_devicesHasBeenSet; } /** *

The list of system devices that the container can access.

*/ inline void SetDevices(const Aws::Vector& value) { m_devicesHasBeenSet = true; m_devices = value; } /** *

The list of system devices that the container can access.

*/ inline void SetDevices(Aws::Vector&& value) { m_devicesHasBeenSet = true; m_devices = std::move(value); } /** *

The list of system devices that the container can access.

*/ inline LambdaContainerParams& WithDevices(const Aws::Vector& value) { SetDevices(value); return *this;} /** *

The list of system devices that the container can access.

*/ inline LambdaContainerParams& WithDevices(Aws::Vector&& value) { SetDevices(std::move(value)); return *this;} /** *

The list of system devices that the container can access.

*/ inline LambdaContainerParams& AddDevices(const LambdaDeviceMount& value) { m_devicesHasBeenSet = true; m_devices.push_back(value); return *this; } /** *

The list of system devices that the container can access.

*/ inline LambdaContainerParams& AddDevices(LambdaDeviceMount&& value) { m_devicesHasBeenSet = true; m_devices.push_back(std::move(value)); return *this; } private: int m_memorySizeInKB; bool m_memorySizeInKBHasBeenSet = false; bool m_mountROSysfs; bool m_mountROSysfsHasBeenSet = false; Aws::Vector m_volumes; bool m_volumesHasBeenSet = false; Aws::Vector m_devices; bool m_devicesHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws