CfnComponentVersionPropsMixin

class aws_cdk.mixins_preview.aws_greengrassv2.mixins.CfnComponentVersionPropsMixin(props, *, strategy=None)

Bases: Mixin

Creates a component.

Components are software that run on AWS IoT Greengrass core devices. After you develop and test a component on your core device, you can use this operation to upload your component to AWS IoT Greengrass . Then, you can deploy the component to other core devices.

You can use this operation to do the following:

  • Create components from recipes

Create a component from a recipe, which is a file that defines the component’s metadata, parameters, dependencies, lifecycle, artifacts, and platform capability. For more information, see AWS IoT Greengrass component recipe reference in the AWS IoT Greengrass V2 Developer Guide .

To create a component from a recipe, specify inlineRecipe when you call this operation.

  • Create components from Lambda functions

Create a component from an AWS Lambda function that runs on AWS IoT Greengrass . This creates a recipe and artifacts from the Lambda function’s deployment package. You can use this operation to migrate Lambda functions from AWS IoT Greengrass V1 to AWS IoT Greengrass V2 .

This function accepts Lambda functions in all supported versions of Python, Node.js, and Java runtimes. AWS IoT Greengrass doesn’t apply any additional restrictions on deprecated Lambda runtime versions.

To create a component from a Lambda function, specify lambdaFunction when you call this operation.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html

CloudformationResource:

AWS::GreengrassV2::ComponentVersion

Mixin:

true

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview import mixins
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

cfn_component_version_props_mixin = greengrassv2_mixins.CfnComponentVersionPropsMixin(greengrassv2_mixins.CfnComponentVersionMixinProps(
    inline_recipe="inlineRecipe",
    lambda_function=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaFunctionRecipeSourceProperty(
        component_dependencies={
            "component_dependencies_key": greengrassv2_mixins.CfnComponentVersionPropsMixin.ComponentDependencyRequirementProperty(
                dependency_type="dependencyType",
                version_requirement="versionRequirement"
            )
        },
        component_lambda_parameters=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaExecutionParametersProperty(
            environment_variables={
                "environment_variables_key": "environmentVariables"
            },
            event_sources=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaEventSourceProperty(
                topic="topic",
                type="type"
            )],
            exec_args=["execArgs"],
            input_payload_encoding_type="inputPayloadEncodingType",
            linux_process_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaLinuxProcessParamsProperty(
                container_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaContainerParamsProperty(
                    devices=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(
                        add_group_owner=False,
                        path="path",
                        permission="permission"
                    )],
                    memory_size_in_kb=123,
                    mount_ro_sysfs=False,
                    volumes=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(
                        add_group_owner=False,
                        destination_path="destinationPath",
                        permission="permission",
                        source_path="sourcePath"
                    )]
                ),
                isolation_mode="isolationMode"
            ),
            max_idle_time_in_seconds=123,
            max_instances_count=123,
            max_queue_size=123,
            pinned=False,
            status_timeout_in_seconds=123,
            timeout_in_seconds=123
        ),
        component_name="componentName",
        component_platforms=[greengrassv2_mixins.CfnComponentVersionPropsMixin.ComponentPlatformProperty(
            attributes={
                "attributes_key": "attributes"
            },
            name="name"
        )],
        component_version="componentVersion",
        lambda_arn="lambdaArn"
    ),
    tags={
        "tags_key": "tags"
    }
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::GreengrassV2::ComponentVersion.

Parameters:

Methods

apply_to(construct)

Apply the mixin properties to the construct.

Parameters:

construct (IConstruct)

Return type:

IConstruct

supports(construct)

Check if this mixin supports the given construct.

Parameters:

construct (IConstruct)

Return type:

bool

Attributes

CFN_PROPERTY_KEYS = ['inlineRecipe', 'lambdaFunction', 'tags']

Static Methods

classmethod is_mixin(x)

(experimental) Checks if x is a Mixin.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Mixin.

Stability:

experimental

ComponentDependencyRequirementProperty

class CfnComponentVersionPropsMixin.ComponentDependencyRequirementProperty(*, dependency_type=None, version_requirement=None)

Bases: object

Contains information about a component dependency for a Lambda function component.

Parameters:
  • dependency_type (Optional[str]) – The type of this dependency. Choose from the following options:. - SOFT – The component doesn’t restart if the dependency changes state. - HARD – The component restarts if the dependency changes state. Default: HARD

  • version_requirement (Optional[str]) – The component version requirement for the component dependency. AWS IoT Greengrass uses semantic version constraints. For more information, see Semantic Versioning .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

component_dependency_requirement_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.ComponentDependencyRequirementProperty(
    dependency_type="dependencyType",
    version_requirement="versionRequirement"
)

Attributes

dependency_type

.

  • SOFT – The component doesn’t restart if the dependency changes state.

  • HARD – The component restarts if the dependency changes state.

Default: HARD

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html#cfn-greengrassv2-componentversion-componentdependencyrequirement-dependencytype

Type:

The type of this dependency. Choose from the following options

version_requirement

The component version requirement for the component dependency.

AWS IoT Greengrass uses semantic version constraints. For more information, see Semantic Versioning .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html#cfn-greengrassv2-componentversion-componentdependencyrequirement-versionrequirement

ComponentPlatformProperty

class CfnComponentVersionPropsMixin.ComponentPlatformProperty(*, attributes=None, name=None)

Bases: object

Contains information about a platform that a component supports.

Parameters:
  • attributes (Union[Mapping[str, str], IResolvable, None]) – A dictionary of attributes for the platform. The AWS IoT Greengrass Core software defines the os and platform by default. You can specify additional platform attributes for a core device when you deploy the AWS IoT Greengrass nucleus component. For more information, see the AWS IoT Greengrass nucleus component in the AWS IoT Greengrass V2 Developer Guide .

  • name (Optional[str]) – The friendly name of the platform. This name helps you identify the platform. If you omit this parameter, AWS IoT Greengrass creates a friendly name from the os and architecture of the platform.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

component_platform_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.ComponentPlatformProperty(
    attributes={
        "attributes_key": "attributes"
    },
    name="name"
)

Attributes

attributes

A dictionary of attributes for the platform.

The AWS IoT Greengrass Core software defines the os and platform by default. You can specify additional platform attributes for a core device when you deploy the AWS IoT Greengrass nucleus component. For more information, see the AWS IoT Greengrass nucleus component in the AWS IoT Greengrass V2 Developer Guide .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html#cfn-greengrassv2-componentversion-componentplatform-attributes

name

The friendly name of the platform. This name helps you identify the platform.

If you omit this parameter, AWS IoT Greengrass creates a friendly name from the os and architecture of the platform.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html#cfn-greengrassv2-componentversion-componentplatform-name

LambdaContainerParamsProperty

class CfnComponentVersionPropsMixin.LambdaContainerParamsProperty(*, devices=None, memory_size_in_kb=None, mount_ro_sysfs=None, volumes=None)

Bases: object

Contains information about a container in which AWS Lambda functions run on AWS IoT Greengrass core devices.

Parameters:
  • devices (Union[IResolvable, Sequence[Union[IResolvable, LambdaDeviceMountProperty, Dict[str, Any]]], None]) – The list of system devices that the container can access.

  • memory_size_in_kb (Union[int, float, None]) – The memory size of the container, expressed in kilobytes. Default: 16384 (16 MB)

  • mount_ro_sysfs (Union[bool, IResolvable, None]) – Whether or not the container can read information from the device’s /sys folder. Default: false

  • volumes (Union[IResolvable, Sequence[Union[IResolvable, LambdaVolumeMountProperty, Dict[str, Any]]], None]) – The list of volumes that the container can access.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_container_params_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaContainerParamsProperty(
    devices=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(
        add_group_owner=False,
        path="path",
        permission="permission"
    )],
    memory_size_in_kb=123,
    mount_ro_sysfs=False,
    volumes=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(
        add_group_owner=False,
        destination_path="destinationPath",
        permission="permission",
        source_path="sourcePath"
    )]
)

Attributes

devices

The list of system devices that the container can access.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-devices

memory_size_in_kb

The memory size of the container, expressed in kilobytes.

Default: 16384 (16 MB)

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-memorysizeinkb

mount_ro_sysfs

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

Default: false

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-mountrosysfs

volumes

The list of volumes that the container can access.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-volumes

LambdaDeviceMountProperty

class CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(*, add_group_owner=None, path=None, permission=None)

Bases: object

Contains information about a device that Linux processes in a container can access.

Parameters:
  • add_group_owner (Union[bool, IResolvable, None]) – Whether or not to add the component’s system user as an owner of the device. Default: false

  • path (Optional[str]) – The mount path for the device in the file system.

  • permission (Optional[str]) – The permission to access the device: read/only ( ro ) or read/write ( rw ). Default: ro

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_device_mount_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(
    add_group_owner=False,
    path="path",
    permission="permission"
)

Attributes

add_group_owner

Whether or not to add the component’s system user as an owner of the device.

Default: false

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html#cfn-greengrassv2-componentversion-lambdadevicemount-addgroupowner

path

The mount path for the device in the file system.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html#cfn-greengrassv2-componentversion-lambdadevicemount-path

permission

read/only ( ro ) or read/write ( rw ).

Default: ro

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html#cfn-greengrassv2-componentversion-lambdadevicemount-permission

Type:

The permission to access the device

LambdaEventSourceProperty

class CfnComponentVersionPropsMixin.LambdaEventSourceProperty(*, topic=None, type=None)

Bases: object

Contains information about an event source for an AWS Lambda function.

The event source defines the topics on which this Lambda function subscribes to receive messages that run the function.

Parameters:
  • topic (Optional[str]) – The topic to which to subscribe to receive event messages.

  • type (Optional[str]) – The type of event source. Choose from the following options:. - PUB_SUB – Subscribe to local publish/subscribe messages. This event source type doesn’t support MQTT wildcards ( + and # ) in the event source topic. - IOT_CORE – Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT wildcards ( + and # ) in the event source topic.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_event_source_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaEventSourceProperty(
    topic="topic",
    type="type"
)

Attributes

topic

The topic to which to subscribe to receive event messages.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html#cfn-greengrassv2-componentversion-lambdaeventsource-topic

type

.

  • PUB_SUB – Subscribe to local publish/subscribe messages. This event source type doesn’t support MQTT wildcards ( + and # ) in the event source topic.

  • IOT_CORE – Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT wildcards ( + and # ) in the event source topic.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html#cfn-greengrassv2-componentversion-lambdaeventsource-type

Type:

The type of event source. Choose from the following options

LambdaExecutionParametersProperty

class CfnComponentVersionPropsMixin.LambdaExecutionParametersProperty(*, environment_variables=None, event_sources=None, exec_args=None, input_payload_encoding_type=None, linux_process_params=None, max_idle_time_in_seconds=None, max_instances_count=None, max_queue_size=None, pinned=None, status_timeout_in_seconds=None, timeout_in_seconds=None)

Bases: object

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

Parameters:
  • environment_variables (Union[Mapping[str, str], IResolvable, None]) – The map of environment variables that are available to the Lambda function when it runs.

  • event_sources (Union[IResolvable, Sequence[Union[IResolvable, LambdaEventSourceProperty, Dict[str, Any]]], None]) – 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 AWS IoT Core MQTT messages.

  • exec_args (Optional[Sequence[str]]) – The list of arguments to pass to the Lambda function when it runs.

  • input_payload_encoding_type (Optional[str]) – The encoding type that the Lambda function supports. Default: json

  • linux_process_params (Union[IResolvable, LambdaLinuxProcessParamsProperty, Dict[str, Any], None]) – The parameters for the Linux process that contains the Lambda function.

  • max_idle_time_in_seconds (Union[int, float, None]) – The maximum amount of time in seconds that a non-pinned Lambda function can idle before the AWS IoT Greengrass Core software stops its process.

  • max_instances_count (Union[int, float, None]) – The maximum number of instances that a non-pinned Lambda function can run at the same time.

  • max_queue_size (Union[int, float, None]) – The maximum size of the message queue for the Lambda function component. The AWS IoT Greengrass core device stores messages in a FIFO (first-in-first-out) queue until it can run the Lambda function to consume each message.

  • pinned (Union[bool, IResolvable, None]) – Whether or not the Lambda function is pinned, or long-lived. - A pinned Lambda function starts when the AWS IoT Greengrass Core 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 AWS IoT Greengrass Core software creates multiple instances of the function. Default: true

  • status_timeout_in_seconds (Union[int, float, None]) – The interval in seconds at which a pinned (also known as long-lived) Lambda function component sends status updates to the Lambda manager component.

  • timeout_in_seconds (Union[int, float, None]) – The maximum amount of time in seconds that the Lambda function can process a work item.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_execution_parameters_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaExecutionParametersProperty(
    environment_variables={
        "environment_variables_key": "environmentVariables"
    },
    event_sources=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaEventSourceProperty(
        topic="topic",
        type="type"
    )],
    exec_args=["execArgs"],
    input_payload_encoding_type="inputPayloadEncodingType",
    linux_process_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaLinuxProcessParamsProperty(
        container_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaContainerParamsProperty(
            devices=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(
                add_group_owner=False,
                path="path",
                permission="permission"
            )],
            memory_size_in_kb=123,
            mount_ro_sysfs=False,
            volumes=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(
                add_group_owner=False,
                destination_path="destinationPath",
                permission="permission",
                source_path="sourcePath"
            )]
        ),
        isolation_mode="isolationMode"
    ),
    max_idle_time_in_seconds=123,
    max_instances_count=123,
    max_queue_size=123,
    pinned=False,
    status_timeout_in_seconds=123,
    timeout_in_seconds=123
)

Attributes

environment_variables

The map of environment variables that are available to the Lambda function when it runs.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-environmentvariables

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 AWS IoT Core MQTT messages.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-eventsources

exec_args

The list of arguments to pass to the Lambda function when it runs.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-execargs

input_payload_encoding_type

The encoding type that the Lambda function supports.

Default: json

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-inputpayloadencodingtype

linux_process_params

The parameters for the Linux process that contains the Lambda function.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-linuxprocessparams

max_idle_time_in_seconds

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-maxidletimeinseconds

max_instances_count

The maximum number of instances that a non-pinned Lambda function can run at the same time.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-maxinstancescount

max_queue_size

The maximum size of the message queue for the Lambda function component.

The AWS IoT Greengrass core device stores messages in a FIFO (first-in-first-out) queue until it can run the Lambda function to consume each message.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-maxqueuesize

pinned

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

  • A pinned Lambda function starts when the AWS IoT Greengrass Core 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 AWS IoT Greengrass Core software creates multiple instances of the function.

Default: true

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-pinned

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-statustimeoutinseconds

timeout_in_seconds

The maximum amount of time in seconds that the Lambda function can process a work item.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-timeoutinseconds

LambdaFunctionRecipeSourceProperty

class CfnComponentVersionPropsMixin.LambdaFunctionRecipeSourceProperty(*, component_dependencies=None, component_lambda_parameters=None, component_name=None, component_platforms=None, component_version=None, lambda_arn=None)

Bases: object

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

Parameters:
  • component_dependencies (Union[IResolvable, Mapping[str, Union[IResolvable, ComponentDependencyRequirementProperty, Dict[str, Any]]], None]) – The component versions on which this Lambda function component depends.

  • component_lambda_parameters (Union[IResolvable, LambdaExecutionParametersProperty, Dict[str, Any], None]) – The system and runtime parameters for the Lambda function as it runs on the AWS IoT Greengrass core device.

  • component_name (Optional[str]) – The name of the component. Defaults to the name of the Lambda function.

  • component_platforms (Union[IResolvable, Sequence[Union[IResolvable, ComponentPlatformProperty, Dict[str, Any]]], None]) – The platforms that the component version supports.

  • component_version (Optional[str]) – 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 .

  • lambda_arn (Optional[str]) – The ARN of the Lambda function. The ARN must include the version of the function to import. You can’t use version aliases like $LATEST .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_function_recipe_source_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaFunctionRecipeSourceProperty(
    component_dependencies={
        "component_dependencies_key": greengrassv2_mixins.CfnComponentVersionPropsMixin.ComponentDependencyRequirementProperty(
            dependency_type="dependencyType",
            version_requirement="versionRequirement"
        )
    },
    component_lambda_parameters=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaExecutionParametersProperty(
        environment_variables={
            "environment_variables_key": "environmentVariables"
        },
        event_sources=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaEventSourceProperty(
            topic="topic",
            type="type"
        )],
        exec_args=["execArgs"],
        input_payload_encoding_type="inputPayloadEncodingType",
        linux_process_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaLinuxProcessParamsProperty(
            container_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaContainerParamsProperty(
                devices=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(
                    add_group_owner=False,
                    path="path",
                    permission="permission"
                )],
                memory_size_in_kb=123,
                mount_ro_sysfs=False,
                volumes=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(
                    add_group_owner=False,
                    destination_path="destinationPath",
                    permission="permission",
                    source_path="sourcePath"
                )]
            ),
            isolation_mode="isolationMode"
        ),
        max_idle_time_in_seconds=123,
        max_instances_count=123,
        max_queue_size=123,
        pinned=False,
        status_timeout_in_seconds=123,
        timeout_in_seconds=123
    ),
    component_name="componentName",
    component_platforms=[greengrassv2_mixins.CfnComponentVersionPropsMixin.ComponentPlatformProperty(
        attributes={
            "attributes_key": "attributes"
        },
        name="name"
    )],
    component_version="componentVersion",
    lambda_arn="lambdaArn"
)

Attributes

component_dependencies

The component versions on which this Lambda function component depends.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentdependencies

component_lambda_parameters

The system and runtime parameters for the Lambda function as it runs on the AWS IoT Greengrass core device.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentlambdaparameters

component_name

The name of the component.

Defaults to the name of the Lambda function.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentname

component_platforms

The platforms that the component version supports.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentplatforms

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 .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentversion

lambda_arn

The ARN of the Lambda function.

The ARN must include the version of the function to import. You can’t use version aliases like $LATEST .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-lambdaarn

LambdaLinuxProcessParamsProperty

class CfnComponentVersionPropsMixin.LambdaLinuxProcessParamsProperty(*, container_params=None, isolation_mode=None)

Bases: object

Contains parameters for a Linux process that contains an AWS Lambda function.

Parameters:
  • container_params (Union[IResolvable, LambdaContainerParamsProperty, Dict[str, Any], None]) – The parameters for the container in which the Lambda function runs.

  • isolation_mode (Optional[str]) – The isolation mode for the process that contains the Lambda function. The process can run in an isolated runtime environment inside the AWS IoT Greengrass container, or as a regular process outside any container. Default: GreengrassContainer

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_linux_process_params_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaLinuxProcessParamsProperty(
    container_params=greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaContainerParamsProperty(
        devices=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaDeviceMountProperty(
            add_group_owner=False,
            path="path",
            permission="permission"
        )],
        memory_size_in_kb=123,
        mount_ro_sysfs=False,
        volumes=[greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(
            add_group_owner=False,
            destination_path="destinationPath",
            permission="permission",
            source_path="sourcePath"
        )]
    ),
    isolation_mode="isolationMode"
)

Attributes

container_params

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html#cfn-greengrassv2-componentversion-lambdalinuxprocessparams-containerparams

isolation_mode

The isolation mode for the process that contains the Lambda function.

The process can run in an isolated runtime environment inside the AWS IoT Greengrass container, or as a regular process outside any container.

Default: GreengrassContainer

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html#cfn-greengrassv2-componentversion-lambdalinuxprocessparams-isolationmode

LambdaVolumeMountProperty

class CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(*, add_group_owner=None, destination_path=None, permission=None, source_path=None)

Bases: object

Contains information about a volume that Linux processes in a container can access.

When you define a volume, the AWS IoT Greengrass Core software mounts the source files to the destination inside the container.

Parameters:
  • add_group_owner (Union[bool, IResolvable, None]) – Whether or not to add the AWS IoT Greengrass user group as an owner of the volume. Default: false

  • destination_path (Optional[str]) – The path to the logical volume in the file system.

  • permission (Optional[str]) – The permission to access the volume: read/only ( ro ) or read/write ( rw ). Default: ro

  • source_path (Optional[str]) – The path to the physical volume in the file system.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_greengrassv2 import mixins as greengrassv2_mixins

lambda_volume_mount_property = greengrassv2_mixins.CfnComponentVersionPropsMixin.LambdaVolumeMountProperty(
    add_group_owner=False,
    destination_path="destinationPath",
    permission="permission",
    source_path="sourcePath"
)

Attributes

add_group_owner

Whether or not to add the AWS IoT Greengrass user group as an owner of the volume.

Default: false

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-addgroupowner

destination_path

The path to the logical volume in the file system.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-destinationpath

permission

read/only ( ro ) or read/write ( rw ).

Default: ro

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-permission

Type:

The permission to access the volume

source_path

The path to the physical volume in the file system.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-sourcepath