/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

>Linux-specific modifications that are applied to the container, such as * Linux kernel capabilities.

See Also:

AWS * API Reference

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

The Linux capabilities for the container that are added to or dropped from * the default configuration provided by Docker.

*/ inline const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails& GetCapabilities() const{ return m_capabilities; } /** *

The Linux capabilities for the container that are added to or dropped from * the default configuration provided by Docker.

*/ inline bool CapabilitiesHasBeenSet() const { return m_capabilitiesHasBeenSet; } /** *

The Linux capabilities for the container that are added to or dropped from * the default configuration provided by Docker.

*/ inline void SetCapabilities(const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails& value) { m_capabilitiesHasBeenSet = true; m_capabilities = value; } /** *

The Linux capabilities for the container that are added to or dropped from * the default configuration provided by Docker.

*/ inline void SetCapabilities(AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails&& value) { m_capabilitiesHasBeenSet = true; m_capabilities = std::move(value); } /** *

The Linux capabilities for the container that are added to or dropped from * the default configuration provided by Docker.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithCapabilities(const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails& value) { SetCapabilities(value); return *this;} /** *

The Linux capabilities for the container that are added to or dropped from * the default configuration provided by Docker.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithCapabilities(AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails&& value) { SetCapabilities(std::move(value)); return *this;} /** *

The host devices to expose to the container.

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

The host devices to expose to the container.

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

The host devices to expose to the container.

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

The host devices to expose to the container.

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

The host devices to expose to the container.

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

The host devices to expose to the container.

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

The host devices to expose to the container.

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

The host devices to expose to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& AddDevices(AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails&& value) { m_devicesHasBeenSet = true; m_devices.push_back(std::move(value)); return *this; } /** *

Whether to run an init process inside the container that * forwards signals and reaps processes.

*/ inline bool GetInitProcessEnabled() const{ return m_initProcessEnabled; } /** *

Whether to run an init process inside the container that * forwards signals and reaps processes.

*/ inline bool InitProcessEnabledHasBeenSet() const { return m_initProcessEnabledHasBeenSet; } /** *

Whether to run an init process inside the container that * forwards signals and reaps processes.

*/ inline void SetInitProcessEnabled(bool value) { m_initProcessEnabledHasBeenSet = true; m_initProcessEnabled = value; } /** *

Whether to run an init process inside the container that * forwards signals and reaps processes.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithInitProcessEnabled(bool value) { SetInitProcessEnabled(value); return *this;} /** *

The total amount of swap memory (in MiB) that a container can use.

*/ inline int GetMaxSwap() const{ return m_maxSwap; } /** *

The total amount of swap memory (in MiB) that a container can use.

*/ inline bool MaxSwapHasBeenSet() const { return m_maxSwapHasBeenSet; } /** *

The total amount of swap memory (in MiB) that a container can use.

*/ inline void SetMaxSwap(int value) { m_maxSwapHasBeenSet = true; m_maxSwap = value; } /** *

The total amount of swap memory (in MiB) that a container can use.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithMaxSwap(int value) { SetMaxSwap(value); return *this;} /** *

The value for the size (in MiB) of the /dev/shm volume.

*/ inline int GetSharedMemorySize() const{ return m_sharedMemorySize; } /** *

The value for the size (in MiB) of the /dev/shm volume.

*/ inline bool SharedMemorySizeHasBeenSet() const { return m_sharedMemorySizeHasBeenSet; } /** *

The value for the size (in MiB) of the /dev/shm volume.

*/ inline void SetSharedMemorySize(int value) { m_sharedMemorySizeHasBeenSet = true; m_sharedMemorySize = value; } /** *

The value for the size (in MiB) of the /dev/shm volume.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithSharedMemorySize(int value) { SetSharedMemorySize(value); return *this;} /** *

Configures the container's memory swappiness behavior. Determines how * aggressively pages are swapped. The higher the value, the more aggressive the * swappiness. The default is 60.

*/ inline int GetSwappiness() const{ return m_swappiness; } /** *

Configures the container's memory swappiness behavior. Determines how * aggressively pages are swapped. The higher the value, the more aggressive the * swappiness. The default is 60.

*/ inline bool SwappinessHasBeenSet() const { return m_swappinessHasBeenSet; } /** *

Configures the container's memory swappiness behavior. Determines how * aggressively pages are swapped. The higher the value, the more aggressive the * swappiness. The default is 60.

*/ inline void SetSwappiness(int value) { m_swappinessHasBeenSet = true; m_swappiness = value; } /** *

Configures the container's memory swappiness behavior. Determines how * aggressively pages are swapped. The higher the value, the more aggressive the * swappiness. The default is 60.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithSwappiness(int value) { SetSwappiness(value); return *this;} /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline const Aws::Vector& GetTmpfs() const{ return m_tmpfs; } /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline bool TmpfsHasBeenSet() const { return m_tmpfsHasBeenSet; } /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline void SetTmpfs(const Aws::Vector& value) { m_tmpfsHasBeenSet = true; m_tmpfs = value; } /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline void SetTmpfs(Aws::Vector&& value) { m_tmpfsHasBeenSet = true; m_tmpfs = std::move(value); } /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithTmpfs(const Aws::Vector& value) { SetTmpfs(value); return *this;} /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& WithTmpfs(Aws::Vector&& value) { SetTmpfs(std::move(value)); return *this;} /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& AddTmpfs(const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails& value) { m_tmpfsHasBeenSet = true; m_tmpfs.push_back(value); return *this; } /** *

The container path, mount options, and size (in MiB) of the tmpfs mount.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& AddTmpfs(AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails&& value) { m_tmpfsHasBeenSet = true; m_tmpfs.push_back(std::move(value)); return *this; } private: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails m_capabilities; bool m_capabilitiesHasBeenSet = false; Aws::Vector m_devices; bool m_devicesHasBeenSet = false; bool m_initProcessEnabled; bool m_initProcessEnabledHasBeenSet = false; int m_maxSwap; bool m_maxSwapHasBeenSet = false; int m_sharedMemorySize; bool m_sharedMemorySizeHasBeenSet = false; int m_swappiness; bool m_swappinessHasBeenSet = false; Aws::Vector m_tmpfs; bool m_tmpfsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws