class Aws::GreengrassV2::Types::LambdaExecutionParameters

Contains parameters for a Lambda function that runs on IoT Greengrass.

@note When making an API call, you may pass LambdaExecutionParameters

data as a hash:

    {
      event_sources: [
        {
          topic: "TopicString", # required
          type: "PUB_SUB", # required, accepts PUB_SUB, IOT_CORE
        },
      ],
      max_queue_size: 1,
      max_instances_count: 1,
      max_idle_time_in_seconds: 1,
      timeout_in_seconds: 1,
      status_timeout_in_seconds: 1,
      pinned: false,
      input_payload_encoding_type: "json", # accepts json, binary
      exec_args: ["LambdaExecArg"],
      environment_variables: {
        "NonEmptyString" => "String",
      },
      linux_process_params: {
        isolation_mode: "GreengrassContainer", # accepts GreengrassContainer, NoContainer
        container_params: {
          memory_size_in_kb: 1,
          mount_ro_sysfs: false,
          volumes: [
            {
              source_path: "FileSystemPath", # required
              destination_path: "FileSystemPath", # required
              permission: "ro", # accepts ro, rw
              add_group_owner: false,
            },
          ],
          devices: [
            {
              path: "FileSystemPath", # required
              permission: "ro", # accepts ro, rw
              add_group_owner: false,
            },
          ],
        },
      },
    }

@!attribute [rw] event_sources

The list of event sources to which to subscribe to receive work
messages. The Lambda function runs when it receives a message from
an event source. You can subscribe this function to local
publish/subscribe messages and Amazon Web Services IoT Core MQTT
messages.
@return [Array<Types::LambdaEventSource>]

@!attribute [rw] max_queue_size

The maximum size of the message queue for the Lambda function
component. The IoT Greengrass core stores messages in a FIFO
(first-in-first-out) queue until it can run the Lambda function to
consume each message.
@return [Integer]

@!attribute [rw] max_instances_count

The maximum number of instances that a non-pinned Lambda function
can run at the same time.
@return [Integer]

@!attribute [rw] max_idle_time_in_seconds

The maximum amount of time in seconds that a non-pinned Lambda
function can idle before the IoT Greengrass Core software stops its
process.
@return [Integer]

@!attribute [rw] timeout_in_seconds

The maximum amount of time in seconds that the Lambda function can
process a work item.
@return [Integer]

@!attribute [rw] status_timeout_in_seconds

The interval in seconds at which a pinned (also known as long-lived)
Lambda function component sends status updates to the Lambda manager
component.
@return [Integer]

@!attribute [rw] pinned

Whether or not the Lambda function is pinned, or long-lived.

* A pinned Lambda function starts when IoT Greengrass starts and
  keeps running in its own container.

* A non-pinned Lambda function starts only when it receives a work
  item and exists after it idles for `maxIdleTimeInSeconds`. If the
  function has multiple work items, the IoT Greengrass Core software
  creates multiple instances of the function.

Default: `true`
@return [Boolean]

@!attribute [rw] input_payload_encoding_type

The encoding type that the Lambda function supports.

Default: `json`
@return [String]

@!attribute [rw] exec_args

The list of arguments to pass to the Lambda function when it runs.
@return [Array<String>]

@!attribute [rw] environment_variables

The map of environment variables that are available to the Lambda
function when it runs.
@return [Hash<String,String>]

@!attribute [rw] linux_process_params

The parameters for the Linux process that contains the Lambda
function.
@return [Types::LambdaLinuxProcessParams]

@see docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaExecutionParameters AWS API Documentation

Constants

SENSITIVE