class Aws::GreengrassV2::Types::LambdaFunctionRecipeSource

Contains information about an Lambda function to import to create a component.

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

data as a hash:

    {
      lambda_arn: "LambdaFunctionARNWithVersionNumber", # required
      component_name: "ComponentNameString",
      component_version: "ComponentVersionString",
      component_platforms: [
        {
          name: "NonEmptyString",
          attributes: {
            "NonEmptyString" => "NonEmptyString",
          },
        },
      ],
      component_dependencies: {
        "NonEmptyString" => {
          version_requirement: "NonEmptyString",
          dependency_type: "HARD", # accepts HARD, SOFT
        },
      },
      component_lambda_parameters: {
        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] lambda_arn

The [ARN][1] of the Lambda function. The ARN must include the
version of the function to import. You can't use version aliases
like `$LATEST`.

[1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
@return [String]

@!attribute [rw] component_name

The name of the component.

Defaults to the name of the Lambda function.
@return [String]

@!attribute [rw] component_version

The version of the component.

Defaults to the version of the Lambda function as a semantic
version. For example, if your function version is `3`, the component
version becomes `3.0.0`.
@return [String]

@!attribute [rw] component_platforms

The platforms that the component version supports.
@return [Array<Types::ComponentPlatform>]

@!attribute [rw] component_dependencies

The component versions on which this Lambda function component
depends.
@return [Hash<String,Types::ComponentDependencyRequirement>]

@!attribute [rw] component_lambda_parameters

The system and runtime parameters for the Lambda function as it runs
on the Greengrass core device.
@return [Types::LambdaExecutionParameters]

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

Constants

SENSITIVE