Skip to content
v2.277.0

FunctionConfigurationProperty Struct ​

The group-specific configuration settings for a Lambda function.

These settings configure the function's behavior in the Greengrass group. For more information, see Controlling Execution of Greengrass Lambda Functions by Using Group-Specific Configuration in the Developer Guide .

In an CloudFormation template, FunctionConfiguration is a property of the Function property type.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_greengrass as greengrass } from 'aws-cdk-lib';

declare const variables: any;
const functionConfigurationProperty: greengrass.CfnFunctionDefinitionVersion.FunctionConfigurationProperty = {
  encodingType: 'encodingType',
  environment: {
    accessSysfs: false,
    execution: {
      isolationMode: 'isolationMode',
      runAs: {
        gid: 123,
        uid: 123,
      },
    },
    resourceAccessPolicies: [{
      resourceId: 'resourceId',

      // the properties below are optional
      permission: 'permission',
    }],
    variables: variables,
  },
  execArgs: 'execArgs',
  executable: 'executable',
  memorySize: 123,
  pinned: false,
  timeout: 123,
};
python
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_greengrass as greengrass

# variables: Any

function_configuration_property = greengrass.CfnFunctionDefinitionVersion.FunctionConfigurationProperty(
    encoding_type="encodingType",
    environment=greengrass.CfnFunctionDefinitionVersion.EnvironmentProperty(
        access_sysfs=False,
        execution=greengrass.CfnFunctionDefinitionVersion.ExecutionProperty(
            isolation_mode="isolationMode",
            run_as=greengrass.CfnFunctionDefinitionVersion.RunAsProperty(
                gid=123,
                uid=123
            )
        ),
        resource_access_policies=[greengrass.CfnFunctionDefinitionVersion.ResourceAccessPolicyProperty(
            resource_id="resourceId",

            # the properties below are optional
            permission="permission"
        )],
        variables=variables
    ),
    exec_args="execArgs",
    executable="executable",
    memory_size=123,
    pinned=False,
    timeout=123
)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.greengrass.*;

Object variables;

FunctionConfigurationProperty functionConfigurationProperty = FunctionConfigurationProperty.builder()
        .encodingType("encodingType")
        .environment(EnvironmentProperty.builder()
                .accessSysfs(false)
                .execution(ExecutionProperty.builder()
                        .isolationMode("isolationMode")
                        .runAs(RunAsProperty.builder()
                                .gid(123)
                                .uid(123)
                                .build())
                        .build())
                .resourceAccessPolicies(List.of(ResourceAccessPolicyProperty.builder()
                        .resourceId("resourceId")

                        // the properties below are optional
                        .permission("permission")
                        .build()))
                .variables(variables)
                .build())
        .execArgs("execArgs")
        .executable("executable")
        .memorySize(123)
        .pinned(false)
        .timeout(123)
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Greengrass;

var variables;

var functionConfigurationProperty = new FunctionConfigurationProperty {
    EncodingType = "encodingType",
    Environment = new EnvironmentProperty {
        AccessSysfs = false,
        Execution = new ExecutionProperty {
            IsolationMode = "isolationMode",
            RunAs = new RunAsProperty {
                Gid = 123,
                Uid = 123
            }
        },
        ResourceAccessPolicies = new [] { new ResourceAccessPolicyProperty {
            ResourceId = "resourceId",

            // the properties below are optional
            Permission = "permission"
        } },
        Variables = variables
    },
    ExecArgs = "execArgs",
    Executable = "executable",
    MemorySize = 123,
    Pinned = false,
    Timeout = 123
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var variables interface{}

functionConfigurationProperty := &FunctionConfigurationProperty{
	EncodingType: jsii.String("encodingType"),
	Environment: &EnvironmentProperty{
		AccessSysfs: jsii.Boolean(false),
		Execution: &ExecutionProperty{
			IsolationMode: jsii.String("isolationMode"),
			RunAs: &RunAsProperty{
				Gid: jsii.Number(123),
				Uid: jsii.Number(123),
			},
		},
		ResourceAccessPolicies: []interface{}{
			&ResourceAccessPolicyProperty{
				ResourceId: jsii.String("resourceId"),

				// the properties below are optional
				Permission: jsii.String("permission"),
			},
		},
		Variables: variables,
	},
	ExecArgs: jsii.String("execArgs"),
	Executable: jsii.String("executable"),
	MemorySize: jsii.Number(123),
	Pinned: jsii.Boolean(false),
	Timeout: jsii.Number(123),
}

Properties ​

encodingTypeoptionalstringencoding_typeoptionalstrencodingTypeoptionalStringEncodingTypeoptionalstringEncodingTypeoptional*string#
The expected encoding type of the input payload for the function.

Valid values are json (default) and binary .

environmentoptionalIResolvable | CfnFunctionDefinitionVersion.EnvironmentPropertyenvironmentoptionaltyping.Union[IResolvable, EnvironmentProperty]environmentoptionalIResolvableEnvironmentoptionalIResolvableEnvironmentoptionalinterface{}#
The environment configuration of the function.
execArgsoptionalstringexec_argsoptionalstrexecArgsoptionalStringExecArgsoptionalstringExecArgsoptional*string#
The execution arguments.
executableoptionalstringexecutableoptionalstrexecutableoptionalStringExecutableoptionalstringExecutableoptional*string#
The name of the function executable.
memorySizeoptionalnumbermemory_sizeoptionalint | floatmemorySizeoptionalNumberMemorySizeoptionaldoubleMemorySizeoptional*float64#
The memory size (in KB) required by the function.

This property applies only to Lambda functions that run in a Greengrass container.

pinnedoptionalboolean | IResolvablepinnedoptionaltyping.Union[bool, IResolvable]pinnedoptionalBooleanPinnedoptionalboolPinnedoptionalinterface{}#
Indicates whether the function is pinned (or *long-lived* ).

Pinned functions start when the core starts and process all requests in the same container. The default value is false.

timeoutoptionalnumbertimeoutoptionalint | floattimeoutoptionalNumberTimeoutoptionaldoubleTimeoutoptional*float64#
The allowed execution time (in seconds) after which the function should terminate.

For pinned functions, this timeout applies for each request.