/** * 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 parameters for a Linux process that contains an Lambda * function.

See Also:

AWS * API Reference

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

The isolation mode for the process that contains the Lambda function. The * process can run in an isolated runtime environment inside the IoT Greengrass * container, or as a regular process outside any container.

Default: * GreengrassContainer

*/ inline const LambdaIsolationMode& GetIsolationMode() const{ return m_isolationMode; } /** *

The isolation mode for the process that contains the Lambda function. The * process can run in an isolated runtime environment inside the IoT Greengrass * container, or as a regular process outside any container.

Default: * GreengrassContainer

*/ inline bool IsolationModeHasBeenSet() const { return m_isolationModeHasBeenSet; } /** *

The isolation mode for the process that contains the Lambda function. The * process can run in an isolated runtime environment inside the IoT Greengrass * container, or as a regular process outside any container.

Default: * GreengrassContainer

*/ inline void SetIsolationMode(const LambdaIsolationMode& value) { m_isolationModeHasBeenSet = true; m_isolationMode = value; } /** *

The isolation mode for the process that contains the Lambda function. The * process can run in an isolated runtime environment inside the IoT Greengrass * container, or as a regular process outside any container.

Default: * GreengrassContainer

*/ inline void SetIsolationMode(LambdaIsolationMode&& value) { m_isolationModeHasBeenSet = true; m_isolationMode = std::move(value); } /** *

The isolation mode for the process that contains the Lambda function. The * process can run in an isolated runtime environment inside the IoT Greengrass * container, or as a regular process outside any container.

Default: * GreengrassContainer

*/ inline LambdaLinuxProcessParams& WithIsolationMode(const LambdaIsolationMode& value) { SetIsolationMode(value); return *this;} /** *

The isolation mode for the process that contains the Lambda function. The * process can run in an isolated runtime environment inside the IoT Greengrass * container, or as a regular process outside any container.

Default: * GreengrassContainer

*/ inline LambdaLinuxProcessParams& WithIsolationMode(LambdaIsolationMode&& value) { SetIsolationMode(std::move(value)); return *this;} /** *

The parameters for the container in which the Lambda function runs.

*/ inline const LambdaContainerParams& GetContainerParams() const{ return m_containerParams; } /** *

The parameters for the container in which the Lambda function runs.

*/ inline bool ContainerParamsHasBeenSet() const { return m_containerParamsHasBeenSet; } /** *

The parameters for the container in which the Lambda function runs.

*/ inline void SetContainerParams(const LambdaContainerParams& value) { m_containerParamsHasBeenSet = true; m_containerParams = value; } /** *

The parameters for the container in which the Lambda function runs.

*/ inline void SetContainerParams(LambdaContainerParams&& value) { m_containerParamsHasBeenSet = true; m_containerParams = std::move(value); } /** *

The parameters for the container in which the Lambda function runs.

*/ inline LambdaLinuxProcessParams& WithContainerParams(const LambdaContainerParams& value) { SetContainerParams(value); return *this;} /** *

The parameters for the container in which the Lambda function runs.

*/ inline LambdaLinuxProcessParams& WithContainerParams(LambdaContainerParams&& value) { SetContainerParams(std::move(value)); return *this;} private: LambdaIsolationMode m_isolationMode; bool m_isolationModeHasBeenSet = false; LambdaContainerParams m_containerParams; bool m_containerParamsHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws