awslambda

package
v2.0.0-rc.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2021 License: Apache-2.0 Imports: 19 Imported by: 127

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Alias_IsConstruct

func Alias_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Alias_IsResource

func Alias_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func CfnAlias_CFN_RESOURCE_TYPE_NAME

func CfnAlias_CFN_RESOURCE_TYPE_NAME() *string

func CfnAlias_IsCfnElement

func CfnAlias_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnAlias_IsCfnResource

func CfnAlias_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnAlias_IsConstruct

func CfnAlias_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnCodeSigningConfig_CFN_RESOURCE_TYPE_NAME

func CfnCodeSigningConfig_CFN_RESOURCE_TYPE_NAME() *string

func CfnCodeSigningConfig_IsCfnElement

func CfnCodeSigningConfig_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnCodeSigningConfig_IsCfnResource

func CfnCodeSigningConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnCodeSigningConfig_IsConstruct

func CfnCodeSigningConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnEventInvokeConfig_CFN_RESOURCE_TYPE_NAME

func CfnEventInvokeConfig_CFN_RESOURCE_TYPE_NAME() *string

func CfnEventInvokeConfig_IsCfnElement

func CfnEventInvokeConfig_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnEventInvokeConfig_IsCfnResource

func CfnEventInvokeConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnEventInvokeConfig_IsConstruct

func CfnEventInvokeConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnEventSourceMapping_CFN_RESOURCE_TYPE_NAME

func CfnEventSourceMapping_CFN_RESOURCE_TYPE_NAME() *string

func CfnEventSourceMapping_IsCfnElement

func CfnEventSourceMapping_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnEventSourceMapping_IsCfnResource

func CfnEventSourceMapping_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnEventSourceMapping_IsConstruct

func CfnEventSourceMapping_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnFunction_CFN_RESOURCE_TYPE_NAME

func CfnFunction_CFN_RESOURCE_TYPE_NAME() *string

func CfnFunction_IsCfnElement

func CfnFunction_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnFunction_IsCfnResource

func CfnFunction_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnFunction_IsConstruct

func CfnFunction_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnLayerVersionPermission_CFN_RESOURCE_TYPE_NAME

func CfnLayerVersionPermission_CFN_RESOURCE_TYPE_NAME() *string

func CfnLayerVersionPermission_IsCfnElement

func CfnLayerVersionPermission_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnLayerVersionPermission_IsCfnResource

func CfnLayerVersionPermission_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnLayerVersionPermission_IsConstruct

func CfnLayerVersionPermission_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnLayerVersion_CFN_RESOURCE_TYPE_NAME

func CfnLayerVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnLayerVersion_IsCfnElement

func CfnLayerVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnLayerVersion_IsCfnResource

func CfnLayerVersion_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnLayerVersion_IsConstruct

func CfnLayerVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnPermission_CFN_RESOURCE_TYPE_NAME

func CfnPermission_CFN_RESOURCE_TYPE_NAME() *string

func CfnPermission_IsCfnElement

func CfnPermission_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnPermission_IsCfnResource

func CfnPermission_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnPermission_IsConstruct

func CfnPermission_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnVersion_CFN_RESOURCE_TYPE_NAME

func CfnVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnVersion_IsCfnElement

func CfnVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnVersion_IsCfnResource

func CfnVersion_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnVersion_IsConstruct

func CfnVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CodeSigningConfig_IsConstruct

func CodeSigningConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CodeSigningConfig_IsResource

func CodeSigningConfig_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func DockerImageFunction_ClassifyVersionProperty

func DockerImageFunction_ClassifyVersionProperty(propertyName *string, locked *bool)

Record whether specific properties in the `AWS::Lambda::Function` resource should also be associated to the Version resource.

See 'currentVersion' section in the module README for more details. Experimental.

func DockerImageFunction_IsConstruct

func DockerImageFunction_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func DockerImageFunction_IsResource

func DockerImageFunction_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func DockerImageFunction_MetricAll

func DockerImageFunction_MetricAll(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Return the given named metric for this Lambda. Experimental.

func DockerImageFunction_MetricAllConcurrentExecutions

func DockerImageFunction_MetricAllConcurrentExecutions(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of concurrent executions across all Lambdas. Experimental.

func DockerImageFunction_MetricAllDuration

func DockerImageFunction_MetricAllDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the Duration executing all Lambdas. Experimental.

func DockerImageFunction_MetricAllErrors

func DockerImageFunction_MetricAllErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of Errors executing all Lambdas. Experimental.

func DockerImageFunction_MetricAllInvocations

func DockerImageFunction_MetricAllInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of invocations of all Lambdas. Experimental.

func DockerImageFunction_MetricAllThrottles

func DockerImageFunction_MetricAllThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of throttled invocations of all Lambdas. Experimental.

func DockerImageFunction_MetricAllUnreservedConcurrentExecutions

func DockerImageFunction_MetricAllUnreservedConcurrentExecutions(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of unreserved concurrent executions across all Lambdas. Experimental.

func EventInvokeConfig_IsConstruct

func EventInvokeConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func EventInvokeConfig_IsResource

func EventInvokeConfig_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func EventSourceMapping_IsConstruct

func EventSourceMapping_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func EventSourceMapping_IsResource

func EventSourceMapping_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func FunctionBase_IsConstruct

func FunctionBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func FunctionBase_IsResource

func FunctionBase_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Function_ClassifyVersionProperty

func Function_ClassifyVersionProperty(propertyName *string, locked *bool)

Record whether specific properties in the `AWS::Lambda::Function` resource should also be associated to the Version resource.

See 'currentVersion' section in the module README for more details. Experimental.

func Function_IsConstruct

func Function_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Function_IsResource

func Function_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Function_MetricAll

func Function_MetricAll(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Return the given named metric for this Lambda. Experimental.

func Function_MetricAllConcurrentExecutions

func Function_MetricAllConcurrentExecutions(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of concurrent executions across all Lambdas. Experimental.

func Function_MetricAllDuration

func Function_MetricAllDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the Duration executing all Lambdas. Experimental.

func Function_MetricAllErrors

func Function_MetricAllErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of Errors executing all Lambdas. Experimental.

func Function_MetricAllInvocations

func Function_MetricAllInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of invocations of all Lambdas. Experimental.

func Function_MetricAllThrottles

func Function_MetricAllThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of throttled invocations of all Lambdas. Experimental.

func Function_MetricAllUnreservedConcurrentExecutions

func Function_MetricAllUnreservedConcurrentExecutions(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of unreserved concurrent executions across all Lambdas. Experimental.

func Handler_FROM_IMAGE

func Handler_FROM_IMAGE() *string

func LayerVersion_IsConstruct

func LayerVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func LayerVersion_IsResource

func LayerVersion_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewAlias_Override

func NewAlias_Override(a Alias, scope constructs.Construct, id *string, props *AliasProps)

Experimental.

func NewAssetCode_Override

func NewAssetCode_Override(a AssetCode, path *string, options *awss3assets.AssetOptions)

Experimental.

func NewAssetImageCode_Override

func NewAssetImageCode_Override(a AssetImageCode, directory *string, props *AssetImageCodeProps)

Experimental.

func NewCfnAlias_Override

func NewCfnAlias_Override(c CfnAlias, scope constructs.Construct, id *string, props *CfnAliasProps)

Create a new `AWS::Lambda::Alias`.

func NewCfnCodeSigningConfig_Override

func NewCfnCodeSigningConfig_Override(c CfnCodeSigningConfig, scope constructs.Construct, id *string, props *CfnCodeSigningConfigProps)

Create a new `AWS::Lambda::CodeSigningConfig`.

func NewCfnEventInvokeConfig_Override

func NewCfnEventInvokeConfig_Override(c CfnEventInvokeConfig, scope constructs.Construct, id *string, props *CfnEventInvokeConfigProps)

Create a new `AWS::Lambda::EventInvokeConfig`.

func NewCfnEventSourceMapping_Override

func NewCfnEventSourceMapping_Override(c CfnEventSourceMapping, scope constructs.Construct, id *string, props *CfnEventSourceMappingProps)

Create a new `AWS::Lambda::EventSourceMapping`.

func NewCfnFunction_Override

func NewCfnFunction_Override(c CfnFunction, scope constructs.Construct, id *string, props *CfnFunctionProps)

Create a new `AWS::Lambda::Function`.

func NewCfnLayerVersionPermission_Override

func NewCfnLayerVersionPermission_Override(c CfnLayerVersionPermission, scope constructs.Construct, id *string, props *CfnLayerVersionPermissionProps)

Create a new `AWS::Lambda::LayerVersionPermission`.

func NewCfnLayerVersion_Override

func NewCfnLayerVersion_Override(c CfnLayerVersion, scope constructs.Construct, id *string, props *CfnLayerVersionProps)

Create a new `AWS::Lambda::LayerVersion`.

func NewCfnParametersCode_Override

func NewCfnParametersCode_Override(c CfnParametersCode, props *CfnParametersCodeProps)

Experimental.

func NewCfnPermission_Override

func NewCfnPermission_Override(c CfnPermission, scope constructs.Construct, id *string, props *CfnPermissionProps)

Create a new `AWS::Lambda::Permission`.

func NewCfnVersion_Override

func NewCfnVersion_Override(c CfnVersion, scope constructs.Construct, id *string, props *CfnVersionProps)

Create a new `AWS::Lambda::Version`.

func NewCodeSigningConfig_Override

func NewCodeSigningConfig_Override(c CodeSigningConfig, scope constructs.Construct, id *string, props *CodeSigningConfigProps)

Experimental.

func NewCode_Override

func NewCode_Override(c Code)

Experimental.

func NewDockerImageCode_Override

func NewDockerImageCode_Override(d DockerImageCode)

Experimental.

func NewDockerImageFunction_Override

func NewDockerImageFunction_Override(d DockerImageFunction, scope constructs.Construct, id *string, props *DockerImageFunctionProps)

Experimental.

func NewEcrImageCode_Override

func NewEcrImageCode_Override(e EcrImageCode, repository awsecr.IRepository, props *EcrImageCodeProps)

Experimental.

func NewEventInvokeConfig_Override

func NewEventInvokeConfig_Override(e EventInvokeConfig, scope constructs.Construct, id *string, props *EventInvokeConfigProps)

Experimental.

func NewEventSourceMapping_Override

func NewEventSourceMapping_Override(e EventSourceMapping, scope constructs.Construct, id *string, props *EventSourceMappingProps)

Experimental.

func NewFileSystem_Override

func NewFileSystem_Override(f FileSystem, config *FileSystemConfig)

Experimental.

func NewFunctionBase_Override

func NewFunctionBase_Override(f FunctionBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)

Experimental.

func NewFunction_Override

func NewFunction_Override(f Function, scope constructs.Construct, id *string, props *FunctionProps)

Experimental.

func NewInlineCode_Override

func NewInlineCode_Override(i InlineCode, code *string)

Experimental.

func NewLambdaInsightsVersion_Override

func NewLambdaInsightsVersion_Override(l LambdaInsightsVersion)

Experimental.

func NewLayerVersion_Override

func NewLayerVersion_Override(l LayerVersion, scope constructs.Construct, id *string, props *LayerVersionProps)

Experimental.

func NewQualifiedFunctionBase_Override

func NewQualifiedFunctionBase_Override(q QualifiedFunctionBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)

Experimental.

func NewRuntime_Override

func NewRuntime_Override(r Runtime, name *string, family RuntimeFamily, props *LambdaRuntimeProps)

Experimental.

func NewS3Code_Override

func NewS3Code_Override(s S3Code, bucket awss3.IBucket, key *string, objectVersion *string)

Experimental.

func NewSingletonFunction_Override

func NewSingletonFunction_Override(s SingletonFunction, scope constructs.Construct, id *string, props *SingletonFunctionProps)

Experimental.

func NewVersion_Override

func NewVersion_Override(v Version, scope constructs.Construct, id *string, props *VersionProps)

Experimental.

func QualifiedFunctionBase_IsConstruct

func QualifiedFunctionBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func QualifiedFunctionBase_IsResource

func QualifiedFunctionBase_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Runtime_ALL

func Runtime_ALL() *[]Runtime

func SingletonFunction_IsConstruct

func SingletonFunction_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func SingletonFunction_IsResource

func SingletonFunction_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Version_IsConstruct

func Version_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Version_IsResource

func Version_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

Types

type Alias

type Alias interface {
	QualifiedFunctionBase
	IAlias
	AliasName() *string
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	Lambda() IFunction
	LatestVersion() IVersion
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Qualifier() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	Version() IVersion
	AddAutoScaling(options *AutoScalingOptions) IScalableFunctionAttribute
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddPermission(id *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A new alias to a particular version of a Lambda function. Experimental.

func NewAlias

func NewAlias(scope constructs.Construct, id *string, props *AliasProps) Alias

Experimental.

type AliasAttributes

type AliasAttributes struct {
	// Experimental.
	AliasName *string `json:"aliasName"`
	// Experimental.
	AliasVersion IVersion `json:"aliasVersion"`
}

Experimental.

type AliasOptions

type AliasOptions struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Additional versions with individual weights this alias points to.
	//
	// Individual additional version weights specified here should add up to
	// (less than) one. All remaining weight is routed to the default
	// version.
	//
	// For example, the config is
	//
	//     version: "1"
	//     additionalVersions: [{ version: "2", weight: 0.05 }]
	//
	// Then 5% of traffic will be routed to function version 2, while
	// the remaining 95% of traffic will be routed to function version 1.
	// Experimental.
	AdditionalVersions *[]*VersionWeight `json:"additionalVersions"`
	// Description for the alias.
	// Experimental.
	Description *string `json:"description"`
	// Specifies a provisioned concurrency configuration for a function's alias.
	// Experimental.
	ProvisionedConcurrentExecutions *float64 `json:"provisionedConcurrentExecutions"`
}

Options for `lambda.Alias`. Experimental.

type AliasProps

type AliasProps struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Additional versions with individual weights this alias points to.
	//
	// Individual additional version weights specified here should add up to
	// (less than) one. All remaining weight is routed to the default
	// version.
	//
	// For example, the config is
	//
	//     version: "1"
	//     additionalVersions: [{ version: "2", weight: 0.05 }]
	//
	// Then 5% of traffic will be routed to function version 2, while
	// the remaining 95% of traffic will be routed to function version 1.
	// Experimental.
	AdditionalVersions *[]*VersionWeight `json:"additionalVersions"`
	// Description for the alias.
	// Experimental.
	Description *string `json:"description"`
	// Specifies a provisioned concurrency configuration for a function's alias.
	// Experimental.
	ProvisionedConcurrentExecutions *float64 `json:"provisionedConcurrentExecutions"`
	// Name of this alias.
	// Experimental.
	AliasName *string `json:"aliasName"`
	// Function version this alias refers to.
	//
	// Use lambda.addVersion() to obtain a new lambda version to refer to.
	// Experimental.
	Version IVersion `json:"version"`
}

Properties for a new Lambda alias. Experimental.

type AssetCode

type AssetCode interface {
	Code
	IsInline() *bool
	Path() *string
	Bind(scope constructs.Construct) *CodeConfig
	BindToResource(resource awscdk.CfnResource, options *ResourceBindOptions)
}

Lambda code from a local directory. Experimental.

func AssetCode_FromAsset

func AssetCode_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func AssetCode_FromDockerBuild

func AssetCode_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

func AssetImageCode_FromAsset

func AssetImageCode_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func AssetImageCode_FromDockerBuild

func AssetImageCode_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

func CfnParametersCode_FromAsset

func CfnParametersCode_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func CfnParametersCode_FromDockerBuild

func CfnParametersCode_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

func Code_FromAsset

func Code_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func Code_FromDockerBuild

func Code_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

func EcrImageCode_FromAsset

func EcrImageCode_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func EcrImageCode_FromDockerBuild

func EcrImageCode_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

func InlineCode_FromAsset

func InlineCode_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func InlineCode_FromDockerBuild

func InlineCode_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

func NewAssetCode

func NewAssetCode(path *string, options *awss3assets.AssetOptions) AssetCode

Experimental.

func S3Code_FromAsset

func S3Code_FromAsset(path *string, options *awss3assets.AssetOptions) AssetCode

Loads the function code from a local disk path. Experimental.

func S3Code_FromDockerBuild

func S3Code_FromDockerBuild(path *string, options *DockerBuildAssetOptions) AssetCode

Loads the function code from an asset created by a Docker build.

By default, the asset is expected to be located at `/asset` in the image. Experimental.

type AssetImageCode

type AssetImageCode interface {
	Code
	IsInline() *bool
	Bind(scope constructs.Construct) *CodeConfig
	BindToResource(_resource awscdk.CfnResource, _options *ResourceBindOptions)
}

Represents an ECR image that will be constructed from the specified asset and can be bound as Lambda code. Experimental.

func AssetCode_FromAssetImage

func AssetCode_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

func AssetImageCode_FromAssetImage

func AssetImageCode_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

func CfnParametersCode_FromAssetImage

func CfnParametersCode_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

func Code_FromAssetImage

func Code_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

func EcrImageCode_FromAssetImage

func EcrImageCode_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

func InlineCode_FromAssetImage

func InlineCode_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

func NewAssetImageCode

func NewAssetImageCode(directory *string, props *AssetImageCodeProps) AssetImageCode

Experimental.

func S3Code_FromAssetImage

func S3Code_FromAssetImage(directory *string, props *AssetImageCodeProps) AssetImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

type AssetImageCodeProps

type AssetImageCodeProps struct {
	// Glob patterns to exclude from the copy.
	// Experimental.
	Exclude *[]*string `json:"exclude"`
	// A strategy for how to handle symlinks.
	// Experimental.
	FollowSymlinks awscdk.SymlinkFollowMode `json:"followSymlinks"`
	// The ignore behavior to use for exclude patterns.
	// Experimental.
	IgnoreMode awscdk.IgnoreMode `json:"ignoreMode"`
	// Extra information to encode into the fingerprint (e.g. build instructions and other inputs).
	// Experimental.
	ExtraHash *string `json:"extraHash"`
	// Build args to pass to the `docker build` command.
	//
	// Since Docker build arguments are resolved before deployment, keys and
	// values cannot refer to unresolved tokens (such as `lambda.functionArn` or
	// `queue.queueUrl`).
	// Experimental.
	BuildArgs *map[string]*string `json:"buildArgs"`
	// Path to the Dockerfile (relative to the directory).
	// Experimental.
	File *string `json:"file"`
	// Docker target to build to.
	// Experimental.
	Target *string `json:"target"`
	// Specify or override the CMD on the specified Docker image or Dockerfile.
	//
	// This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
	// See: https://docs.docker.com/engine/reference/builder/#cmd
	//
	// Experimental.
	Cmd *[]*string `json:"cmd"`
	// Specify or override the ENTRYPOINT on the specified Docker image or Dockerfile.
	//
	// An ENTRYPOINT allows you to configure a container that will run as an executable.
	// This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
	// See: https://docs.docker.com/engine/reference/builder/#entrypoint
	//
	// Experimental.
	Entrypoint *[]*string `json:"entrypoint"`
}

Properties to initialize a new AssetImage. Experimental.

type AutoScalingOptions

type AutoScalingOptions struct {
	// Maximum capacity to scale to.
	// Experimental.
	MaxCapacity *float64 `json:"maxCapacity"`
	// Minimum capacity to scale to.
	// Experimental.
	MinCapacity *float64 `json:"minCapacity"`
}

Properties for enabling Lambda autoscaling. Experimental.

type CfnAlias

type CfnAlias interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	FunctionName() *string
	SetFunctionName(val *string)
	FunctionVersion() *string
	SetFunctionVersion(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	ProvisionedConcurrencyConfig() interface{}
	SetProvisionedConcurrencyConfig(val interface{})
	Ref() *string
	RoutingConfig() interface{}
	SetRoutingConfig(val interface{})
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::Alias`.

func NewCfnAlias

func NewCfnAlias(scope constructs.Construct, id *string, props *CfnAliasProps) CfnAlias

Create a new `AWS::Lambda::Alias`.

type CfnAliasProps

type CfnAliasProps struct {
	// `AWS::Lambda::Alias.FunctionName`.
	FunctionName *string `json:"functionName"`
	// `AWS::Lambda::Alias.FunctionVersion`.
	FunctionVersion *string `json:"functionVersion"`
	// `AWS::Lambda::Alias.Name`.
	Name *string `json:"name"`
	// `AWS::Lambda::Alias.Description`.
	Description *string `json:"description"`
	// `AWS::Lambda::Alias.ProvisionedConcurrencyConfig`.
	ProvisionedConcurrencyConfig interface{} `json:"provisionedConcurrencyConfig"`
	// `AWS::Lambda::Alias.RoutingConfig`.
	RoutingConfig interface{} `json:"routingConfig"`
}

Properties for defining a `AWS::Lambda::Alias`.

type CfnAlias_AliasRoutingConfigurationProperty

type CfnAlias_AliasRoutingConfigurationProperty struct {
	// `CfnAlias.AliasRoutingConfigurationProperty.AdditionalVersionWeights`.
	AdditionalVersionWeights interface{} `json:"additionalVersionWeights"`
}

type CfnAlias_ProvisionedConcurrencyConfigurationProperty

type CfnAlias_ProvisionedConcurrencyConfigurationProperty struct {
	// `CfnAlias.ProvisionedConcurrencyConfigurationProperty.ProvisionedConcurrentExecutions`.
	ProvisionedConcurrentExecutions *float64 `json:"provisionedConcurrentExecutions"`
}

type CfnAlias_VersionWeightProperty

type CfnAlias_VersionWeightProperty struct {
	// `CfnAlias.VersionWeightProperty.FunctionVersion`.
	FunctionVersion *string `json:"functionVersion"`
	// `CfnAlias.VersionWeightProperty.FunctionWeight`.
	FunctionWeight *float64 `json:"functionWeight"`
}

type CfnCodeSigningConfig

type CfnCodeSigningConfig interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AllowedPublishers() interface{}
	SetAllowedPublishers(val interface{})
	AttrCodeSigningConfigArn() *string
	AttrCodeSigningConfigId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CodeSigningPolicies() interface{}
	SetCodeSigningPolicies(val interface{})
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::CodeSigningConfig`.

func NewCfnCodeSigningConfig

func NewCfnCodeSigningConfig(scope constructs.Construct, id *string, props *CfnCodeSigningConfigProps) CfnCodeSigningConfig

Create a new `AWS::Lambda::CodeSigningConfig`.

type CfnCodeSigningConfigProps

type CfnCodeSigningConfigProps struct {
	// `AWS::Lambda::CodeSigningConfig.AllowedPublishers`.
	AllowedPublishers interface{} `json:"allowedPublishers"`
	// `AWS::Lambda::CodeSigningConfig.CodeSigningPolicies`.
	CodeSigningPolicies interface{} `json:"codeSigningPolicies"`
	// `AWS::Lambda::CodeSigningConfig.Description`.
	Description *string `json:"description"`
}

Properties for defining a `AWS::Lambda::CodeSigningConfig`.

type CfnCodeSigningConfig_AllowedPublishersProperty

type CfnCodeSigningConfig_AllowedPublishersProperty struct {
	// `CfnCodeSigningConfig.AllowedPublishersProperty.SigningProfileVersionArns`.
	SigningProfileVersionArns *[]*string `json:"signingProfileVersionArns"`
}

type CfnCodeSigningConfig_CodeSigningPoliciesProperty

type CfnCodeSigningConfig_CodeSigningPoliciesProperty struct {
	// `CfnCodeSigningConfig.CodeSigningPoliciesProperty.UntrustedArtifactOnDeployment`.
	UntrustedArtifactOnDeployment *string `json:"untrustedArtifactOnDeployment"`
}

type CfnEventInvokeConfig

type CfnEventInvokeConfig interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	DestinationConfig() interface{}
	SetDestinationConfig(val interface{})
	FunctionName() *string
	SetFunctionName(val *string)
	LogicalId() *string
	MaximumEventAgeInSeconds() *float64
	SetMaximumEventAgeInSeconds(val *float64)
	MaximumRetryAttempts() *float64
	SetMaximumRetryAttempts(val *float64)
	Node() constructs.Node
	Qualifier() *string
	SetQualifier(val *string)
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::EventInvokeConfig`.

func NewCfnEventInvokeConfig

func NewCfnEventInvokeConfig(scope constructs.Construct, id *string, props *CfnEventInvokeConfigProps) CfnEventInvokeConfig

Create a new `AWS::Lambda::EventInvokeConfig`.

type CfnEventInvokeConfigProps

type CfnEventInvokeConfigProps struct {
	// `AWS::Lambda::EventInvokeConfig.FunctionName`.
	FunctionName *string `json:"functionName"`
	// `AWS::Lambda::EventInvokeConfig.Qualifier`.
	Qualifier *string `json:"qualifier"`
	// `AWS::Lambda::EventInvokeConfig.DestinationConfig`.
	DestinationConfig interface{} `json:"destinationConfig"`
	// `AWS::Lambda::EventInvokeConfig.MaximumEventAgeInSeconds`.
	MaximumEventAgeInSeconds *float64 `json:"maximumEventAgeInSeconds"`
	// `AWS::Lambda::EventInvokeConfig.MaximumRetryAttempts`.
	MaximumRetryAttempts *float64 `json:"maximumRetryAttempts"`
}

Properties for defining a `AWS::Lambda::EventInvokeConfig`.

type CfnEventInvokeConfig_DestinationConfigProperty

type CfnEventInvokeConfig_DestinationConfigProperty struct {
	// `CfnEventInvokeConfig.DestinationConfigProperty.OnFailure`.
	OnFailure interface{} `json:"onFailure"`
	// `CfnEventInvokeConfig.DestinationConfigProperty.OnSuccess`.
	OnSuccess interface{} `json:"onSuccess"`
}

type CfnEventInvokeConfig_OnFailureProperty

type CfnEventInvokeConfig_OnFailureProperty struct {
	// `CfnEventInvokeConfig.OnFailureProperty.Destination`.
	Destination *string `json:"destination"`
}

type CfnEventInvokeConfig_OnSuccessProperty

type CfnEventInvokeConfig_OnSuccessProperty struct {
	// `CfnEventInvokeConfig.OnSuccessProperty.Destination`.
	Destination *string `json:"destination"`
}

type CfnEventSourceMapping

type CfnEventSourceMapping interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrId() *string
	BatchSize() *float64
	SetBatchSize(val *float64)
	BisectBatchOnFunctionError() interface{}
	SetBisectBatchOnFunctionError(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	DestinationConfig() interface{}
	SetDestinationConfig(val interface{})
	Enabled() interface{}
	SetEnabled(val interface{})
	EventSourceArn() *string
	SetEventSourceArn(val *string)
	FunctionName() *string
	SetFunctionName(val *string)
	FunctionResponseTypes() *[]*string
	SetFunctionResponseTypes(val *[]*string)
	LogicalId() *string
	MaximumBatchingWindowInSeconds() *float64
	SetMaximumBatchingWindowInSeconds(val *float64)
	MaximumRecordAgeInSeconds() *float64
	SetMaximumRecordAgeInSeconds(val *float64)
	MaximumRetryAttempts() *float64
	SetMaximumRetryAttempts(val *float64)
	Node() constructs.Node
	ParallelizationFactor() *float64
	SetParallelizationFactor(val *float64)
	Queues() *[]*string
	SetQueues(val *[]*string)
	Ref() *string
	SelfManagedEventSource() interface{}
	SetSelfManagedEventSource(val interface{})
	SourceAccessConfigurations() interface{}
	SetSourceAccessConfigurations(val interface{})
	Stack() awscdk.Stack
	StartingPosition() *string
	SetStartingPosition(val *string)
	StartingPositionTimestamp() *float64
	SetStartingPositionTimestamp(val *float64)
	Topics() *[]*string
	SetTopics(val *[]*string)
	TumblingWindowInSeconds() *float64
	SetTumblingWindowInSeconds(val *float64)
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::EventSourceMapping`.

func NewCfnEventSourceMapping

func NewCfnEventSourceMapping(scope constructs.Construct, id *string, props *CfnEventSourceMappingProps) CfnEventSourceMapping

Create a new `AWS::Lambda::EventSourceMapping`.

type CfnEventSourceMappingProps

type CfnEventSourceMappingProps struct {
	// `AWS::Lambda::EventSourceMapping.FunctionName`.
	FunctionName *string `json:"functionName"`
	// `AWS::Lambda::EventSourceMapping.BatchSize`.
	BatchSize *float64 `json:"batchSize"`
	// `AWS::Lambda::EventSourceMapping.BisectBatchOnFunctionError`.
	BisectBatchOnFunctionError interface{} `json:"bisectBatchOnFunctionError"`
	// `AWS::Lambda::EventSourceMapping.DestinationConfig`.
	DestinationConfig interface{} `json:"destinationConfig"`
	// `AWS::Lambda::EventSourceMapping.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `AWS::Lambda::EventSourceMapping.EventSourceArn`.
	EventSourceArn *string `json:"eventSourceArn"`
	// `AWS::Lambda::EventSourceMapping.FunctionResponseTypes`.
	FunctionResponseTypes *[]*string `json:"functionResponseTypes"`
	// `AWS::Lambda::EventSourceMapping.MaximumBatchingWindowInSeconds`.
	MaximumBatchingWindowInSeconds *float64 `json:"maximumBatchingWindowInSeconds"`
	// `AWS::Lambda::EventSourceMapping.MaximumRecordAgeInSeconds`.
	MaximumRecordAgeInSeconds *float64 `json:"maximumRecordAgeInSeconds"`
	// `AWS::Lambda::EventSourceMapping.MaximumRetryAttempts`.
	MaximumRetryAttempts *float64 `json:"maximumRetryAttempts"`
	// `AWS::Lambda::EventSourceMapping.ParallelizationFactor`.
	ParallelizationFactor *float64 `json:"parallelizationFactor"`
	// `AWS::Lambda::EventSourceMapping.Queues`.
	Queues *[]*string `json:"queues"`
	// `AWS::Lambda::EventSourceMapping.SelfManagedEventSource`.
	SelfManagedEventSource interface{} `json:"selfManagedEventSource"`
	// `AWS::Lambda::EventSourceMapping.SourceAccessConfigurations`.
	SourceAccessConfigurations interface{} `json:"sourceAccessConfigurations"`
	// `AWS::Lambda::EventSourceMapping.StartingPosition`.
	StartingPosition *string `json:"startingPosition"`
	// `AWS::Lambda::EventSourceMapping.StartingPositionTimestamp`.
	StartingPositionTimestamp *float64 `json:"startingPositionTimestamp"`
	// `AWS::Lambda::EventSourceMapping.Topics`.
	Topics *[]*string `json:"topics"`
	// `AWS::Lambda::EventSourceMapping.TumblingWindowInSeconds`.
	TumblingWindowInSeconds *float64 `json:"tumblingWindowInSeconds"`
}

Properties for defining a `AWS::Lambda::EventSourceMapping`.

type CfnEventSourceMapping_DestinationConfigProperty

type CfnEventSourceMapping_DestinationConfigProperty struct {
	// `CfnEventSourceMapping.DestinationConfigProperty.OnFailure`.
	OnFailure interface{} `json:"onFailure"`
}

type CfnEventSourceMapping_EndpointsProperty

type CfnEventSourceMapping_EndpointsProperty struct {
	// `CfnEventSourceMapping.EndpointsProperty.KafkaBootstrapServers`.
	KafkaBootstrapServers *[]*string `json:"kafkaBootstrapServers"`
}

type CfnEventSourceMapping_OnFailureProperty

type CfnEventSourceMapping_OnFailureProperty struct {
	// `CfnEventSourceMapping.OnFailureProperty.Destination`.
	Destination *string `json:"destination"`
}

type CfnEventSourceMapping_SelfManagedEventSourceProperty

type CfnEventSourceMapping_SelfManagedEventSourceProperty struct {
	// `CfnEventSourceMapping.SelfManagedEventSourceProperty.Endpoints`.
	Endpoints interface{} `json:"endpoints"`
}

type CfnEventSourceMapping_SourceAccessConfigurationProperty

type CfnEventSourceMapping_SourceAccessConfigurationProperty struct {
	// `CfnEventSourceMapping.SourceAccessConfigurationProperty.Type`.
	Type *string `json:"type"`
	// `CfnEventSourceMapping.SourceAccessConfigurationProperty.URI`.
	Uri *string `json:"uri"`
}

type CfnFunction

type CfnFunction interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	Code() interface{}
	SetCode(val interface{})
	CodeSigningConfigArn() *string
	SetCodeSigningConfigArn(val *string)
	CreationStack() *[]*string
	DeadLetterConfig() interface{}
	SetDeadLetterConfig(val interface{})
	Description() *string
	SetDescription(val *string)
	Environment() interface{}
	SetEnvironment(val interface{})
	FileSystemConfigs() interface{}
	SetFileSystemConfigs(val interface{})
	FunctionName() *string
	SetFunctionName(val *string)
	Handler() *string
	SetHandler(val *string)
	ImageConfig() interface{}
	SetImageConfig(val interface{})
	KmsKeyArn() *string
	SetKmsKeyArn(val *string)
	Layers() *[]*string
	SetLayers(val *[]*string)
	LogicalId() *string
	MemorySize() *float64
	SetMemorySize(val *float64)
	Node() constructs.Node
	PackageType() *string
	SetPackageType(val *string)
	Ref() *string
	ReservedConcurrentExecutions() *float64
	SetReservedConcurrentExecutions(val *float64)
	Role() *string
	SetRole(val *string)
	Runtime() *string
	SetRuntime(val *string)
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	Timeout() *float64
	SetTimeout(val *float64)
	TracingConfig() interface{}
	SetTracingConfig(val interface{})
	UpdatedProperites() *map[string]interface{}
	VpcConfig() interface{}
	SetVpcConfig(val interface{})
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::Function`.

func NewCfnFunction

func NewCfnFunction(scope constructs.Construct, id *string, props *CfnFunctionProps) CfnFunction

Create a new `AWS::Lambda::Function`.

type CfnFunctionProps

type CfnFunctionProps struct {
	// `AWS::Lambda::Function.Code`.
	Code interface{} `json:"code"`
	// `AWS::Lambda::Function.Role`.
	Role *string `json:"role"`
	// `AWS::Lambda::Function.CodeSigningConfigArn`.
	CodeSigningConfigArn *string `json:"codeSigningConfigArn"`
	// `AWS::Lambda::Function.DeadLetterConfig`.
	DeadLetterConfig interface{} `json:"deadLetterConfig"`
	// `AWS::Lambda::Function.Description`.
	Description *string `json:"description"`
	// `AWS::Lambda::Function.Environment`.
	Environment interface{} `json:"environment"`
	// `AWS::Lambda::Function.FileSystemConfigs`.
	FileSystemConfigs interface{} `json:"fileSystemConfigs"`
	// `AWS::Lambda::Function.FunctionName`.
	FunctionName *string `json:"functionName"`
	// `AWS::Lambda::Function.Handler`.
	Handler *string `json:"handler"`
	// `AWS::Lambda::Function.ImageConfig`.
	ImageConfig interface{} `json:"imageConfig"`
	// `AWS::Lambda::Function.KmsKeyArn`.
	KmsKeyArn *string `json:"kmsKeyArn"`
	// `AWS::Lambda::Function.Layers`.
	Layers *[]*string `json:"layers"`
	// `AWS::Lambda::Function.MemorySize`.
	MemorySize *float64 `json:"memorySize"`
	// `AWS::Lambda::Function.PackageType`.
	PackageType *string `json:"packageType"`
	// `AWS::Lambda::Function.ReservedConcurrentExecutions`.
	ReservedConcurrentExecutions *float64 `json:"reservedConcurrentExecutions"`
	// `AWS::Lambda::Function.Runtime`.
	Runtime *string `json:"runtime"`
	// `AWS::Lambda::Function.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::Lambda::Function.Timeout`.
	Timeout *float64 `json:"timeout"`
	// `AWS::Lambda::Function.TracingConfig`.
	TracingConfig interface{} `json:"tracingConfig"`
	// `AWS::Lambda::Function.VpcConfig`.
	VpcConfig interface{} `json:"vpcConfig"`
}

Properties for defining a `AWS::Lambda::Function`.

type CfnFunction_CodeProperty

type CfnFunction_CodeProperty struct {
	// `CfnFunction.CodeProperty.ImageUri`.
	ImageUri *string `json:"imageUri"`
	// `CfnFunction.CodeProperty.S3Bucket`.
	S3Bucket *string `json:"s3Bucket"`
	// `CfnFunction.CodeProperty.S3Key`.
	S3Key *string `json:"s3Key"`
	// `CfnFunction.CodeProperty.S3ObjectVersion`.
	S3ObjectVersion *string `json:"s3ObjectVersion"`
	// `CfnFunction.CodeProperty.ZipFile`.
	ZipFile *string `json:"zipFile"`
}

type CfnFunction_DeadLetterConfigProperty

type CfnFunction_DeadLetterConfigProperty struct {
	// `CfnFunction.DeadLetterConfigProperty.TargetArn`.
	TargetArn *string `json:"targetArn"`
}

type CfnFunction_EnvironmentProperty

type CfnFunction_EnvironmentProperty struct {
	// `CfnFunction.EnvironmentProperty.Variables`.
	Variables interface{} `json:"variables"`
}

type CfnFunction_FileSystemConfigProperty

type CfnFunction_FileSystemConfigProperty struct {
	// `CfnFunction.FileSystemConfigProperty.Arn`.
	Arn *string `json:"arn"`
	// `CfnFunction.FileSystemConfigProperty.LocalMountPath`.
	LocalMountPath *string `json:"localMountPath"`
}

type CfnFunction_ImageConfigProperty

type CfnFunction_ImageConfigProperty struct {
	// `CfnFunction.ImageConfigProperty.Command`.
	Command *[]*string `json:"command"`
	// `CfnFunction.ImageConfigProperty.EntryPoint`.
	EntryPoint *[]*string `json:"entryPoint"`
	// `CfnFunction.ImageConfigProperty.WorkingDirectory`.
	WorkingDirectory *string `json:"workingDirectory"`
}

type CfnFunction_TracingConfigProperty

type CfnFunction_TracingConfigProperty struct {
	// `CfnFunction.TracingConfigProperty.Mode`.
	Mode *string `json:"mode"`
}

type CfnFunction_VpcConfigProperty

type CfnFunction_VpcConfigProperty struct {
	// `CfnFunction.VpcConfigProperty.SecurityGroupIds`.
	SecurityGroupIds *[]*string `json:"securityGroupIds"`
	// `CfnFunction.VpcConfigProperty.SubnetIds`.
	SubnetIds *[]*string `json:"subnetIds"`
}

type CfnLayerVersion

type CfnLayerVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CompatibleRuntimes() *[]*string
	SetCompatibleRuntimes(val *[]*string)
	Content() interface{}
	SetContent(val interface{})
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	LayerName() *string
	SetLayerName(val *string)
	LicenseInfo() *string
	SetLicenseInfo(val *string)
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::LayerVersion`.

func NewCfnLayerVersion

func NewCfnLayerVersion(scope constructs.Construct, id *string, props *CfnLayerVersionProps) CfnLayerVersion

Create a new `AWS::Lambda::LayerVersion`.

type CfnLayerVersionPermission

type CfnLayerVersionPermission interface {
	awscdk.CfnResource
	awscdk.IInspectable
	Action() *string
	SetAction(val *string)
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LayerVersionArn() *string
	SetLayerVersionArn(val *string)
	LogicalId() *string
	Node() constructs.Node
	OrganizationId() *string
	SetOrganizationId(val *string)
	Principal() *string
	SetPrincipal(val *string)
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::LayerVersionPermission`.

func NewCfnLayerVersionPermission

func NewCfnLayerVersionPermission(scope constructs.Construct, id *string, props *CfnLayerVersionPermissionProps) CfnLayerVersionPermission

Create a new `AWS::Lambda::LayerVersionPermission`.

type CfnLayerVersionPermissionProps

type CfnLayerVersionPermissionProps struct {
	// `AWS::Lambda::LayerVersionPermission.Action`.
	Action *string `json:"action"`
	// `AWS::Lambda::LayerVersionPermission.LayerVersionArn`.
	LayerVersionArn *string `json:"layerVersionArn"`
	// `AWS::Lambda::LayerVersionPermission.Principal`.
	Principal *string `json:"principal"`
	// `AWS::Lambda::LayerVersionPermission.OrganizationId`.
	OrganizationId *string `json:"organizationId"`
}

Properties for defining a `AWS::Lambda::LayerVersionPermission`.

type CfnLayerVersionProps

type CfnLayerVersionProps struct {
	// `AWS::Lambda::LayerVersion.Content`.
	Content interface{} `json:"content"`
	// `AWS::Lambda::LayerVersion.CompatibleRuntimes`.
	CompatibleRuntimes *[]*string `json:"compatibleRuntimes"`
	// `AWS::Lambda::LayerVersion.Description`.
	Description *string `json:"description"`
	// `AWS::Lambda::LayerVersion.LayerName`.
	LayerName *string `json:"layerName"`
	// `AWS::Lambda::LayerVersion.LicenseInfo`.
	LicenseInfo *string `json:"licenseInfo"`
}

Properties for defining a `AWS::Lambda::LayerVersion`.

type CfnLayerVersion_ContentProperty

type CfnLayerVersion_ContentProperty struct {
	// `CfnLayerVersion.ContentProperty.S3Bucket`.
	S3Bucket *string `json:"s3Bucket"`
	// `CfnLayerVersion.ContentProperty.S3Key`.
	S3Key *string `json:"s3Key"`
	// `CfnLayerVersion.ContentProperty.S3ObjectVersion`.
	S3ObjectVersion *string `json:"s3ObjectVersion"`
}

type CfnParametersCode

type CfnParametersCode interface {
	Code
	BucketNameParam() *string
	IsInline() *bool
	ObjectKeyParam() *string
	Assign(location *awss3.Location) *map[string]interface{}
	Bind(scope constructs.Construct) *CodeConfig
	BindToResource(_resource awscdk.CfnResource, _options *ResourceBindOptions)
}

Lambda code defined using 2 CloudFormation parameters.

Useful when you don't have access to the code of your Lambda from your CDK code, so you can't use Assets, and you want to deploy the Lambda in a CodePipeline, using CloudFormation Actions - you can fill the parameters using the {@link #assign} method. Experimental.

func AssetCode_FromCfnParameters

func AssetCode_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

func AssetImageCode_FromCfnParameters

func AssetImageCode_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

func CfnParametersCode_FromCfnParameters

func CfnParametersCode_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

func Code_FromCfnParameters

func Code_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

func EcrImageCode_FromCfnParameters

func EcrImageCode_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

func InlineCode_FromCfnParameters

func InlineCode_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

func NewCfnParametersCode

func NewCfnParametersCode(props *CfnParametersCodeProps) CfnParametersCode

Experimental.

func S3Code_FromCfnParameters

func S3Code_FromCfnParameters(props *CfnParametersCodeProps) CfnParametersCode

Creates a new Lambda source defined using CloudFormation parameters.

Returns: a new instance of `CfnParametersCode` Experimental.

type CfnParametersCodeProps

type CfnParametersCodeProps struct {
	// The CloudFormation parameter that represents the name of the S3 Bucket where the Lambda code will be located in.
	//
	// Must be of type 'String'.
	// Experimental.
	BucketNameParam awscdk.CfnParameter `json:"bucketNameParam"`
	// The CloudFormation parameter that represents the path inside the S3 Bucket where the Lambda code will be located at.
	//
	// Must be of type 'String'.
	// Experimental.
	ObjectKeyParam awscdk.CfnParameter `json:"objectKeyParam"`
}

Construction properties for {@link CfnParametersCode}. Experimental.

type CfnPermission

type CfnPermission interface {
	awscdk.CfnResource
	awscdk.IInspectable
	Action() *string
	SetAction(val *string)
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	EventSourceToken() *string
	SetEventSourceToken(val *string)
	FunctionName() *string
	SetFunctionName(val *string)
	LogicalId() *string
	Node() constructs.Node
	Principal() *string
	SetPrincipal(val *string)
	Ref() *string
	SourceAccount() *string
	SetSourceAccount(val *string)
	SourceArn() *string
	SetSourceArn(val *string)
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::Permission`.

func NewCfnPermission

func NewCfnPermission(scope constructs.Construct, id *string, props *CfnPermissionProps) CfnPermission

Create a new `AWS::Lambda::Permission`.

type CfnPermissionProps

type CfnPermissionProps struct {
	// `AWS::Lambda::Permission.Action`.
	Action *string `json:"action"`
	// `AWS::Lambda::Permission.FunctionName`.
	FunctionName *string `json:"functionName"`
	// `AWS::Lambda::Permission.Principal`.
	Principal *string `json:"principal"`
	// `AWS::Lambda::Permission.EventSourceToken`.
	EventSourceToken *string `json:"eventSourceToken"`
	// `AWS::Lambda::Permission.SourceAccount`.
	SourceAccount *string `json:"sourceAccount"`
	// `AWS::Lambda::Permission.SourceArn`.
	SourceArn *string `json:"sourceArn"`
}

Properties for defining a `AWS::Lambda::Permission`.

type CfnVersion

type CfnVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrVersion() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CodeSha256() *string
	SetCodeSha256(val *string)
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	FunctionName() *string
	SetFunctionName(val *string)
	LogicalId() *string
	Node() constructs.Node
	ProvisionedConcurrencyConfig() interface{}
	SetProvisionedConcurrencyConfig(val interface{})
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Lambda::Version`.

func NewCfnVersion

func NewCfnVersion(scope constructs.Construct, id *string, props *CfnVersionProps) CfnVersion

Create a new `AWS::Lambda::Version`.

type CfnVersionProps

type CfnVersionProps struct {
	// `AWS::Lambda::Version.FunctionName`.
	FunctionName *string `json:"functionName"`
	// `AWS::Lambda::Version.CodeSha256`.
	CodeSha256 *string `json:"codeSha256"`
	// `AWS::Lambda::Version.Description`.
	Description *string `json:"description"`
	// `AWS::Lambda::Version.ProvisionedConcurrencyConfig`.
	ProvisionedConcurrencyConfig interface{} `json:"provisionedConcurrencyConfig"`
}

Properties for defining a `AWS::Lambda::Version`.

type CfnVersion_ProvisionedConcurrencyConfigurationProperty

type CfnVersion_ProvisionedConcurrencyConfigurationProperty struct {
	// `CfnVersion.ProvisionedConcurrencyConfigurationProperty.ProvisionedConcurrentExecutions`.
	ProvisionedConcurrentExecutions *float64 `json:"provisionedConcurrentExecutions"`
}

type Code

type Code interface {
	Bind(scope constructs.Construct) *CodeConfig
	BindToResource(_resource awscdk.CfnResource, _options *ResourceBindOptions)
}

Represents the Lambda Handler Code. Experimental.

type CodeConfig

type CodeConfig struct {
	// Docker image configuration (mutually exclusive with `s3Location` and `inlineCode`).
	// Experimental.
	Image *CodeImageConfig `json:"image"`
	// Inline code (mutually exclusive with `s3Location` and `image`).
	// Experimental.
	InlineCode *string `json:"inlineCode"`
	// The location of the code in S3 (mutually exclusive with `inlineCode` and `image`).
	// Experimental.
	S3Location *awss3.Location `json:"s3Location"`
}

Result of binding `Code` into a `Function`. Experimental.

type CodeImageConfig

type CodeImageConfig struct {
	// URI to the Docker image.
	// Experimental.
	ImageUri *string `json:"imageUri"`
	// Specify or override the CMD on the specified Docker image or Dockerfile.
	//
	// This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
	// See: https://docs.docker.com/engine/reference/builder/#cmd
	//
	// Experimental.
	Cmd *[]*string `json:"cmd"`
	// Specify or override the ENTRYPOINT on the specified Docker image or Dockerfile.
	//
	// An ENTRYPOINT allows you to configure a container that will run as an executable.
	// This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
	// See: https://docs.docker.com/engine/reference/builder/#entrypoint
	//
	// Experimental.
	Entrypoint *[]*string `json:"entrypoint"`
}

Result of the bind when an ECR image is used. Experimental.

type CodeSigningConfig

type CodeSigningConfig interface {
	awscdk.Resource
	ICodeSigningConfig
	CodeSigningConfigArn() *string
	CodeSigningConfigId() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

Defines a Code Signing Config. Experimental.

func NewCodeSigningConfig

func NewCodeSigningConfig(scope constructs.Construct, id *string, props *CodeSigningConfigProps) CodeSigningConfig

Experimental.

type CodeSigningConfigProps

type CodeSigningConfigProps struct {
	// List of signing profiles that defines a trusted user who can sign a code package.
	// Experimental.
	SigningProfiles *[]awssigner.ISigningProfile `json:"signingProfiles"`
	// Code signing configuration description.
	// Experimental.
	Description *string `json:"description"`
	// Code signing configuration policy for deployment validation failure.
	//
	// If you set the policy to Enforce, Lambda blocks the deployment request
	// if signature validation checks fail.
	// If you set the policy to Warn, Lambda allows the deployment and
	// creates a CloudWatch log.
	// Experimental.
	UntrustedArtifactOnDeployment UntrustedArtifactOnDeployment `json:"untrustedArtifactOnDeployment"`
}

Construction properties for a Code Signing Config object. Experimental.

type DestinationConfig

type DestinationConfig struct {
	// The Amazon Resource Name (ARN) of the destination resource.
	// Experimental.
	Destination *string `json:"destination"`
}

A destination configuration. Experimental.

type DestinationOptions

type DestinationOptions struct {
	// The destination type.
	// Experimental.
	Type DestinationType `json:"type"`
}

Options when binding a destination to a function. Experimental.

type DestinationType

type DestinationType string

The type of destination. Experimental.

const (
	DestinationType_FAILURE DestinationType = "FAILURE"
	DestinationType_SUCCESS DestinationType = "SUCCESS"
)

type DlqDestinationConfig

type DlqDestinationConfig struct {
	// The Amazon Resource Name (ARN) of the destination resource.
	// Experimental.
	Destination *string `json:"destination"`
}

A destination configuration. Experimental.

type DockerBuildAssetOptions

type DockerBuildAssetOptions struct {
	// Build args.
	// Experimental.
	BuildArgs *map[string]*string `json:"buildArgs"`
	// Name of the Dockerfile, must relative to the docker build path.
	// Experimental.
	File *string `json:"file"`
	// Set platform if server is multi-platform capable.
	//
	// _Requires Docker Engine API v1.38+_.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Platform *string `json:"platform"`
	// The path in the Docker image where the asset is located after the build operation.
	// Experimental.
	ImagePath *string `json:"imagePath"`
	// The path on the local filesystem where the asset will be copied using `docker cp`.
	// Experimental.
	OutputPath *string `json:"outputPath"`
}

Options when creating an asset from a Docker build. Experimental.

type DockerImageCode

type DockerImageCode interface {
}

Code property for the DockerImageFunction construct. Experimental.

func DockerImageCode_FromEcr

func DockerImageCode_FromEcr(repository awsecr.IRepository, props *EcrImageCodeProps) DockerImageCode

Use an existing ECR image as the Lambda code. Experimental.

func DockerImageCode_FromImageAsset

func DockerImageCode_FromImageAsset(directory *string, props *AssetImageCodeProps) DockerImageCode

Create an ECR image from the specified asset and bind it as the Lambda code. Experimental.

type DockerImageFunction

type DockerImageFunction interface {
	Function
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	CurrentVersion() Version
	DeadLetterQueue() awssqs.IQueue
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	LatestVersion() IVersion
	LogGroup() awslogs.ILogGroup
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Role() awsiam.IRole
	Runtime() Runtime
	Stack() awscdk.Stack
	AddEnvironment(key *string, value *string, options *EnvironmentOptions) Function
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddLayers(layers ...ILayerVersion)
	AddPermission(id *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

Create a lambda function where the handler is a docker image. Experimental.

func NewDockerImageFunction

func NewDockerImageFunction(scope constructs.Construct, id *string, props *DockerImageFunctionProps) DockerImageFunction

Experimental.

type DockerImageFunctionProps

type DockerImageFunctionProps struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Whether to allow the Lambda to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// Lambda to connect to network targets.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Lambda Functions in a public subnet can NOT access the internet.
	//
	// Use this property to acknowledge this limitation and still place the function in a public subnet.
	// See: https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
	//
	// Experimental.
	AllowPublicSubnet *bool `json:"allowPublicSubnet"`
	// Code signing config associated with this function.
	// Experimental.
	CodeSigningConfig ICodeSigningConfig `json:"codeSigningConfig"`
	// Options for the `lambda.Version` resource automatically created by the `fn.currentVersion` method.
	// Experimental.
	CurrentVersionOptions *VersionOptions `json:"currentVersionOptions"`
	// The SQS queue to use if DLQ is enabled.
	// Experimental.
	DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"`
	// Enabled DLQ.
	//
	// If `deadLetterQueue` is undefined,
	// an SQS queue with default options will be defined for your Function.
	// Experimental.
	DeadLetterQueueEnabled *bool `json:"deadLetterQueueEnabled"`
	// A description of the function.
	// Experimental.
	Description *string `json:"description"`
	// Key-value pairs that Lambda caches and makes available for your Lambda functions.
	//
	// Use environment variables to apply configuration changes, such
	// as test and production environment configurations, without changing your
	// Lambda function source code.
	// Experimental.
	Environment *map[string]*string `json:"environment"`
	// The AWS KMS key that's used to encrypt your function's environment variables.
	// Experimental.
	EnvironmentEncryption awskms.IKey `json:"environmentEncryption"`
	// Event sources for this function.
	//
	// You can also add event sources using `addEventSource`.
	// Experimental.
	Events *[]IEventSource `json:"events"`
	// The filesystem configuration for the lambda function.
	// Experimental.
	Filesystem FileSystem `json:"filesystem"`
	// A name for the function.
	// Experimental.
	FunctionName *string `json:"functionName"`
	// Initial policy statements to add to the created Lambda Role.
	//
	// You can call `addToRolePolicy` to the created lambda to add statements post creation.
	// Experimental.
	InitialPolicy *[]awsiam.PolicyStatement `json:"initialPolicy"`
	// Specify the version of CloudWatch Lambda insights to use for monitoring.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights.html
	//
	// Experimental.
	InsightsVersion LambdaInsightsVersion `json:"insightsVersion"`
	// A list of layers to add to the function's execution environment.
	//
	// You can configure your Lambda function to pull in
	// additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies
	// that can be used by multiple functions.
	// Experimental.
	Layers *[]ILayerVersion `json:"layers"`
	// The number of days log events are kept in CloudWatch Logs.
	//
	// When updating
	// this property, unsetting it doesn't remove the log retention policy. To
	// remove the retention policy, set the value to `INFINITE`.
	// Experimental.
	LogRetention awslogs.RetentionDays `json:"logRetention"`
	// When log retention is specified, a custom resource attempts to create the CloudWatch log group.
	//
	// These options control the retry policy when interacting with CloudWatch APIs.
	// Experimental.
	LogRetentionRetryOptions *LogRetentionRetryOptions `json:"logRetentionRetryOptions"`
	// The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
	// Experimental.
	LogRetentionRole awsiam.IRole `json:"logRetentionRole"`
	// The amount of memory, in MB, that is allocated to your Lambda function.
	//
	// Lambda uses this value to proportionally allocate the amount of CPU
	// power. For more information, see Resource Model in the AWS Lambda
	// Developer Guide.
	// Experimental.
	MemorySize *float64 `json:"memorySize"`
	// Enable profiling.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	Profiling *bool `json:"profiling"`
	// Profiling Group.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	ProfilingGroup awscodeguruprofiler.IProfilingGroup `json:"profilingGroup"`
	// The maximum of concurrent executions you want to reserve for the function.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
	//
	// Experimental.
	ReservedConcurrentExecutions *float64 `json:"reservedConcurrentExecutions"`
	// Lambda execution role.
	//
	// This is the role that will be assumed by the function upon execution.
	// It controls the permissions that the function will have. The Role must
	// be assumable by the 'lambda.amazonaws.com' service principal.
	//
	// The default Role automatically has permissions granted for Lambda execution. If you
	// provide a Role, you must add the relevant AWS managed policies yourself.
	//
	// The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
	// "service-role/AWSLambdaVPCAccessExecutionRole".
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// The list of security groups to associate with the Lambda's network interfaces.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// The function execution time (in seconds) after which Lambda terminates the function.
	//
	// Because the execution time affects cost, set this value
	// based on the function's expected execution time.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// Enable AWS X-Ray Tracing for Lambda Function.
	// Experimental.
	Tracing Tracing `json:"tracing"`
	// VPC network to place Lambda network interfaces.
	//
	// Specify this if the Lambda function needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied. Note: internet access for Lambdas
	// requires a NAT gateway, so picking Public subnets is not allowed.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"`
	// The source code of your Lambda function.
	//
	// You can point to a file in an
	// Amazon Simple Storage Service (Amazon S3) bucket or specify your source
	// code as inline text.
	// Experimental.
	Code DockerImageCode `json:"code"`
}

Properties to configure a new DockerImageFunction construct. Experimental.

type EcrImageCode

type EcrImageCode interface {
	Code
	IsInline() *bool
	Bind(_arg constructs.Construct) *CodeConfig
	BindToResource(_resource awscdk.CfnResource, _options *ResourceBindOptions)
}

Represents a Docker image in ECR that can be bound as Lambda Code. Experimental.

func AssetCode_FromEcrImage

func AssetCode_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

func AssetImageCode_FromEcrImage

func AssetImageCode_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

func CfnParametersCode_FromEcrImage

func CfnParametersCode_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

func Code_FromEcrImage

func Code_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

func EcrImageCode_FromEcrImage

func EcrImageCode_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

func InlineCode_FromEcrImage

func InlineCode_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

func NewEcrImageCode

func NewEcrImageCode(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Experimental.

func S3Code_FromEcrImage

func S3Code_FromEcrImage(repository awsecr.IRepository, props *EcrImageCodeProps) EcrImageCode

Use an existing ECR image as the Lambda code. Experimental.

type EcrImageCodeProps

type EcrImageCodeProps struct {
	// Specify or override the CMD on the specified Docker image or Dockerfile.
	//
	// This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
	// See: https://docs.docker.com/engine/reference/builder/#cmd
	//
	// Experimental.
	Cmd *[]*string `json:"cmd"`
	// Specify or override the ENTRYPOINT on the specified Docker image or Dockerfile.
	//
	// An ENTRYPOINT allows you to configure a container that will run as an executable.
	// This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
	// See: https://docs.docker.com/engine/reference/builder/#entrypoint
	//
	// Experimental.
	Entrypoint *[]*string `json:"entrypoint"`
	// The image tag to use when pulling the image from ECR.
	// Experimental.
	Tag *string `json:"tag"`
}

Properties to initialize a new EcrImageCode. Experimental.

type EnvironmentOptions

type EnvironmentOptions struct {
	// When used in Lambda@Edge via edgeArn() API, these environment variables will be removed.
	//
	// If not set, an error will be thrown.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-requirements-limits.html#lambda-requirements-lambda-function-configuration
	//
	// Experimental.
	RemoveInEdge *bool `json:"removeInEdge"`
}

Environment variables options. Experimental.

type EventInvokeConfig

type EventInvokeConfig interface {
	awscdk.Resource
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

Configure options for asynchronous invocation on a version or an alias.

By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous invocation queue for too long, Lambda discards it. Experimental.

func NewEventInvokeConfig

func NewEventInvokeConfig(scope constructs.Construct, id *string, props *EventInvokeConfigProps) EventInvokeConfig

Experimental.

type EventInvokeConfigOptions

type EventInvokeConfigOptions struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
}

Options to add an EventInvokeConfig to a function. Experimental.

type EventInvokeConfigProps

type EventInvokeConfigProps struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// The Lambda function.
	// Experimental.
	Function IFunction `json:"function"`
	// The qualifier.
	// Experimental.
	Qualifier *string `json:"qualifier"`
}

Properties for an EventInvokeConfig. Experimental.

type EventSourceMapping

type EventSourceMapping interface {
	awscdk.Resource
	IEventSourceMapping
	Env() *awscdk.ResourceEnvironment
	EventSourceMappingId() *string
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

Defines a Lambda EventSourceMapping resource.

Usually, you won't need to define the mapping yourself. This will usually be done by event sources. For example, to add an SQS event source to a function:

import { SqsEventSource } from '@aws-cdk/aws-lambda-event-sources';
lambda.addEventSource(new SqsEventSource(sqs));

The `SqsEventSource` class will automatically create the mapping, and will also modify the Lambda's execution role so it can consume messages from the queue. Experimental.

func NewEventSourceMapping

func NewEventSourceMapping(scope constructs.Construct, id *string, props *EventSourceMappingProps) EventSourceMapping

Experimental.

type EventSourceMappingOptions

type EventSourceMappingOptions struct {
	// The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
	//
	// Your function receives an
	// event with all the retrieved records.
	//
	// Valid Range: Minimum value of 1. Maximum value of 10000.
	// Experimental.
	BatchSize *float64 `json:"batchSize"`
	// If the function returns an error, split the batch in two and retry.
	// Experimental.
	BisectBatchOnError *bool `json:"bisectBatchOnError"`
	// Set to false to disable the event source upon creation.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// The Amazon Resource Name (ARN) of the event source.
	//
	// Any record added to
	// this stream can invoke the Lambda function.
	// Experimental.
	EventSourceArn *string `json:"eventSourceArn"`
	// A list of host and port pairs that are the addresses of the Kafka brokers in a self managed "bootstrap" Kafka cluster that a Kafka client connects to initially to bootstrap itself.
	//
	// They are in the format `abc.example.com:9096`.
	// Experimental.
	KafkaBootstrapServers *[]*string `json:"kafkaBootstrapServers"`
	// The name of the Kafka topic.
	// Experimental.
	KafkaTopic *string `json:"kafkaTopic"`
	// The maximum amount of time to gather records before invoking the function.
	//
	// Maximum of Duration.minutes(5)
	// Experimental.
	MaxBatchingWindow awscdk.Duration `json:"maxBatchingWindow"`
	// The maximum age of a record that Lambda sends to a function for processing.
	//
	// Valid Range:
	// * Minimum value of 60 seconds
	// * Maximum value of 7 days
	// Experimental.
	MaxRecordAge awscdk.Duration `json:"maxRecordAge"`
	// An Amazon SQS queue or Amazon SNS topic destination for discarded records.
	// Experimental.
	OnFailure IEventSourceDlq `json:"onFailure"`
	// The number of batches to process from each shard concurrently.
	//
	// Valid Range:
	// * Minimum value of 1
	// * Maximum value of 10
	// Experimental.
	ParallelizationFactor *float64 `json:"parallelizationFactor"`
	// Allow functions to return partially successful responses for a batch of records.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
	//
	// Experimental.
	ReportBatchItemFailures *bool `json:"reportBatchItemFailures"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Set to `undefined` if you want lambda to keep retrying infinitely or until
	// the record expires.
	//
	// Valid Range:
	// * Minimum value of 0
	// * Maximum value of 10000
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Specific settings like the authentication protocol or the VPC components to secure access to your event source.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html
	//
	// Experimental.
	SourceAccessConfigurations *[]*SourceAccessConfiguration `json:"sourceAccessConfigurations"`
	// The position in the DynamoDB, Kinesis or MSK stream where AWS Lambda should start reading.
	// See: https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType
	//
	// Experimental.
	StartingPosition StartingPosition `json:"startingPosition"`
	// The size of the tumbling windows to group records sent to DynamoDB or Kinesis.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-windows
	//
	// Valid Range: 0 - 15 minutes
	//
	// Experimental.
	TumblingWindow awscdk.Duration `json:"tumblingWindow"`
}

Experimental.

type EventSourceMappingProps

type EventSourceMappingProps struct {
	// The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
	//
	// Your function receives an
	// event with all the retrieved records.
	//
	// Valid Range: Minimum value of 1. Maximum value of 10000.
	// Experimental.
	BatchSize *float64 `json:"batchSize"`
	// If the function returns an error, split the batch in two and retry.
	// Experimental.
	BisectBatchOnError *bool `json:"bisectBatchOnError"`
	// Set to false to disable the event source upon creation.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// The Amazon Resource Name (ARN) of the event source.
	//
	// Any record added to
	// this stream can invoke the Lambda function.
	// Experimental.
	EventSourceArn *string `json:"eventSourceArn"`
	// A list of host and port pairs that are the addresses of the Kafka brokers in a self managed "bootstrap" Kafka cluster that a Kafka client connects to initially to bootstrap itself.
	//
	// They are in the format `abc.example.com:9096`.
	// Experimental.
	KafkaBootstrapServers *[]*string `json:"kafkaBootstrapServers"`
	// The name of the Kafka topic.
	// Experimental.
	KafkaTopic *string `json:"kafkaTopic"`
	// The maximum amount of time to gather records before invoking the function.
	//
	// Maximum of Duration.minutes(5)
	// Experimental.
	MaxBatchingWindow awscdk.Duration `json:"maxBatchingWindow"`
	// The maximum age of a record that Lambda sends to a function for processing.
	//
	// Valid Range:
	// * Minimum value of 60 seconds
	// * Maximum value of 7 days
	// Experimental.
	MaxRecordAge awscdk.Duration `json:"maxRecordAge"`
	// An Amazon SQS queue or Amazon SNS topic destination for discarded records.
	// Experimental.
	OnFailure IEventSourceDlq `json:"onFailure"`
	// The number of batches to process from each shard concurrently.
	//
	// Valid Range:
	// * Minimum value of 1
	// * Maximum value of 10
	// Experimental.
	ParallelizationFactor *float64 `json:"parallelizationFactor"`
	// Allow functions to return partially successful responses for a batch of records.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
	//
	// Experimental.
	ReportBatchItemFailures *bool `json:"reportBatchItemFailures"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Set to `undefined` if you want lambda to keep retrying infinitely or until
	// the record expires.
	//
	// Valid Range:
	// * Minimum value of 0
	// * Maximum value of 10000
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Specific settings like the authentication protocol or the VPC components to secure access to your event source.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html
	//
	// Experimental.
	SourceAccessConfigurations *[]*SourceAccessConfiguration `json:"sourceAccessConfigurations"`
	// The position in the DynamoDB, Kinesis or MSK stream where AWS Lambda should start reading.
	// See: https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType
	//
	// Experimental.
	StartingPosition StartingPosition `json:"startingPosition"`
	// The size of the tumbling windows to group records sent to DynamoDB or Kinesis.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-windows
	//
	// Valid Range: 0 - 15 minutes
	//
	// Experimental.
	TumblingWindow awscdk.Duration `json:"tumblingWindow"`
	// The target AWS Lambda function.
	// Experimental.
	Target IFunction `json:"target"`
}

Properties for declaring a new event source mapping. Experimental.

type FileSystem

type FileSystem interface {
	Config() *FileSystemConfig
}

Represents the filesystem for the Lambda function. Experimental.

func FileSystem_FromEfsAccessPoint

func FileSystem_FromEfsAccessPoint(ap awsefs.IAccessPoint, mountPath *string) FileSystem

mount the filesystem from Amazon EFS. Experimental.

func NewFileSystem

func NewFileSystem(config *FileSystemConfig) FileSystem

Experimental.

type FileSystemConfig

type FileSystemConfig struct {
	// ARN of the access point.
	// Experimental.
	Arn *string `json:"arn"`
	// mount path in the lambda runtime environment.
	// Experimental.
	LocalMountPath *string `json:"localMountPath"`
	// connections object used to allow ingress traffic from lambda function.
	// Experimental.
	Connections awsec2.Connections `json:"connections"`
	// array of IDependable that lambda function depends on.
	// Experimental.
	Dependency *[]constructs.IDependable `json:"dependency"`
	// additional IAM policies required for the lambda function.
	// Experimental.
	Policies *[]awsiam.PolicyStatement `json:"policies"`
}

FileSystem configurations for the Lambda function. Experimental.

type Function

type Function interface {
	FunctionBase
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	CurrentVersion() Version
	DeadLetterQueue() awssqs.IQueue
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	LatestVersion() IVersion
	LogGroup() awslogs.ILogGroup
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Role() awsiam.IRole
	Runtime() Runtime
	Stack() awscdk.Stack
	AddEnvironment(key *string, value *string, options *EnvironmentOptions) Function
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddLayers(layers ...ILayerVersion)
	AddPermission(id *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

Deploys a file from inside the construct library as a function.

The supplied file is subject to the 4096 bytes limit of being embedded in a CloudFormation template.

The construct includes an associated role with the lambda.

This construct does not yet reproduce all features from the underlying resource library. Experimental.

func NewFunction

func NewFunction(scope constructs.Construct, id *string, props *FunctionProps) Function

Experimental.

type FunctionAttributes

type FunctionAttributes struct {
	// The ARN of the Lambda function.
	//
	// Format: arn:<partition>:lambda:<region>:<account-id>:function:<function-name>
	// Experimental.
	FunctionArn *string `json:"functionArn"`
	// The IAM execution role associated with this function.
	//
	// If the role is not specified, any role-related operations will no-op.
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// Setting this property informs the CDK that the imported function is in the same environment as the stack.
	//
	// This affects certain behaviours such as, whether this function's permission can be modified.
	// When not configured, the CDK attempts to auto-determine this. For environment agnostic stacks, i.e., stacks
	// where the account is not specified with the `env` property, this is determined to be false.
	//
	// Set this to property *ONLY IF* the imported function is in the same account as the stack
	// it's imported in.
	// Experimental.
	SameEnvironment *bool `json:"sameEnvironment"`
	// The security group of this Lambda, if in a VPC.
	//
	// This needs to be given in order to support allowing connections
	// to this Lambda.
	// Experimental.
	SecurityGroup awsec2.ISecurityGroup `json:"securityGroup"`
}

Represents a Lambda function defined outside of this stack. Experimental.

type FunctionBase

type FunctionBase interface {
	awscdk.Resource
	awsec2.IClientVpnConnectionHandler
	IFunction
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	LatestVersion() IVersion
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddPermission(id *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

Experimental.

type FunctionOptions

type FunctionOptions struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Whether to allow the Lambda to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// Lambda to connect to network targets.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Lambda Functions in a public subnet can NOT access the internet.
	//
	// Use this property to acknowledge this limitation and still place the function in a public subnet.
	// See: https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
	//
	// Experimental.
	AllowPublicSubnet *bool `json:"allowPublicSubnet"`
	// Code signing config associated with this function.
	// Experimental.
	CodeSigningConfig ICodeSigningConfig `json:"codeSigningConfig"`
	// Options for the `lambda.Version` resource automatically created by the `fn.currentVersion` method.
	// Experimental.
	CurrentVersionOptions *VersionOptions `json:"currentVersionOptions"`
	// The SQS queue to use if DLQ is enabled.
	// Experimental.
	DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"`
	// Enabled DLQ.
	//
	// If `deadLetterQueue` is undefined,
	// an SQS queue with default options will be defined for your Function.
	// Experimental.
	DeadLetterQueueEnabled *bool `json:"deadLetterQueueEnabled"`
	// A description of the function.
	// Experimental.
	Description *string `json:"description"`
	// Key-value pairs that Lambda caches and makes available for your Lambda functions.
	//
	// Use environment variables to apply configuration changes, such
	// as test and production environment configurations, without changing your
	// Lambda function source code.
	// Experimental.
	Environment *map[string]*string `json:"environment"`
	// The AWS KMS key that's used to encrypt your function's environment variables.
	// Experimental.
	EnvironmentEncryption awskms.IKey `json:"environmentEncryption"`
	// Event sources for this function.
	//
	// You can also add event sources using `addEventSource`.
	// Experimental.
	Events *[]IEventSource `json:"events"`
	// The filesystem configuration for the lambda function.
	// Experimental.
	Filesystem FileSystem `json:"filesystem"`
	// A name for the function.
	// Experimental.
	FunctionName *string `json:"functionName"`
	// Initial policy statements to add to the created Lambda Role.
	//
	// You can call `addToRolePolicy` to the created lambda to add statements post creation.
	// Experimental.
	InitialPolicy *[]awsiam.PolicyStatement `json:"initialPolicy"`
	// Specify the version of CloudWatch Lambda insights to use for monitoring.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights.html
	//
	// Experimental.
	InsightsVersion LambdaInsightsVersion `json:"insightsVersion"`
	// A list of layers to add to the function's execution environment.
	//
	// You can configure your Lambda function to pull in
	// additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies
	// that can be used by multiple functions.
	// Experimental.
	Layers *[]ILayerVersion `json:"layers"`
	// The number of days log events are kept in CloudWatch Logs.
	//
	// When updating
	// this property, unsetting it doesn't remove the log retention policy. To
	// remove the retention policy, set the value to `INFINITE`.
	// Experimental.
	LogRetention awslogs.RetentionDays `json:"logRetention"`
	// When log retention is specified, a custom resource attempts to create the CloudWatch log group.
	//
	// These options control the retry policy when interacting with CloudWatch APIs.
	// Experimental.
	LogRetentionRetryOptions *LogRetentionRetryOptions `json:"logRetentionRetryOptions"`
	// The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
	// Experimental.
	LogRetentionRole awsiam.IRole `json:"logRetentionRole"`
	// The amount of memory, in MB, that is allocated to your Lambda function.
	//
	// Lambda uses this value to proportionally allocate the amount of CPU
	// power. For more information, see Resource Model in the AWS Lambda
	// Developer Guide.
	// Experimental.
	MemorySize *float64 `json:"memorySize"`
	// Enable profiling.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	Profiling *bool `json:"profiling"`
	// Profiling Group.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	ProfilingGroup awscodeguruprofiler.IProfilingGroup `json:"profilingGroup"`
	// The maximum of concurrent executions you want to reserve for the function.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
	//
	// Experimental.
	ReservedConcurrentExecutions *float64 `json:"reservedConcurrentExecutions"`
	// Lambda execution role.
	//
	// This is the role that will be assumed by the function upon execution.
	// It controls the permissions that the function will have. The Role must
	// be assumable by the 'lambda.amazonaws.com' service principal.
	//
	// The default Role automatically has permissions granted for Lambda execution. If you
	// provide a Role, you must add the relevant AWS managed policies yourself.
	//
	// The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
	// "service-role/AWSLambdaVPCAccessExecutionRole".
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// The list of security groups to associate with the Lambda's network interfaces.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// The function execution time (in seconds) after which Lambda terminates the function.
	//
	// Because the execution time affects cost, set this value
	// based on the function's expected execution time.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// Enable AWS X-Ray Tracing for Lambda Function.
	// Experimental.
	Tracing Tracing `json:"tracing"`
	// VPC network to place Lambda network interfaces.
	//
	// Specify this if the Lambda function needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied. Note: internet access for Lambdas
	// requires a NAT gateway, so picking Public subnets is not allowed.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"`
}

Non runtime options. Experimental.

type FunctionProps

type FunctionProps struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Whether to allow the Lambda to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// Lambda to connect to network targets.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Lambda Functions in a public subnet can NOT access the internet.
	//
	// Use this property to acknowledge this limitation and still place the function in a public subnet.
	// See: https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
	//
	// Experimental.
	AllowPublicSubnet *bool `json:"allowPublicSubnet"`
	// Code signing config associated with this function.
	// Experimental.
	CodeSigningConfig ICodeSigningConfig `json:"codeSigningConfig"`
	// Options for the `lambda.Version` resource automatically created by the `fn.currentVersion` method.
	// Experimental.
	CurrentVersionOptions *VersionOptions `json:"currentVersionOptions"`
	// The SQS queue to use if DLQ is enabled.
	// Experimental.
	DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"`
	// Enabled DLQ.
	//
	// If `deadLetterQueue` is undefined,
	// an SQS queue with default options will be defined for your Function.
	// Experimental.
	DeadLetterQueueEnabled *bool `json:"deadLetterQueueEnabled"`
	// A description of the function.
	// Experimental.
	Description *string `json:"description"`
	// Key-value pairs that Lambda caches and makes available for your Lambda functions.
	//
	// Use environment variables to apply configuration changes, such
	// as test and production environment configurations, without changing your
	// Lambda function source code.
	// Experimental.
	Environment *map[string]*string `json:"environment"`
	// The AWS KMS key that's used to encrypt your function's environment variables.
	// Experimental.
	EnvironmentEncryption awskms.IKey `json:"environmentEncryption"`
	// Event sources for this function.
	//
	// You can also add event sources using `addEventSource`.
	// Experimental.
	Events *[]IEventSource `json:"events"`
	// The filesystem configuration for the lambda function.
	// Experimental.
	Filesystem FileSystem `json:"filesystem"`
	// A name for the function.
	// Experimental.
	FunctionName *string `json:"functionName"`
	// Initial policy statements to add to the created Lambda Role.
	//
	// You can call `addToRolePolicy` to the created lambda to add statements post creation.
	// Experimental.
	InitialPolicy *[]awsiam.PolicyStatement `json:"initialPolicy"`
	// Specify the version of CloudWatch Lambda insights to use for monitoring.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights.html
	//
	// Experimental.
	InsightsVersion LambdaInsightsVersion `json:"insightsVersion"`
	// A list of layers to add to the function's execution environment.
	//
	// You can configure your Lambda function to pull in
	// additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies
	// that can be used by multiple functions.
	// Experimental.
	Layers *[]ILayerVersion `json:"layers"`
	// The number of days log events are kept in CloudWatch Logs.
	//
	// When updating
	// this property, unsetting it doesn't remove the log retention policy. To
	// remove the retention policy, set the value to `INFINITE`.
	// Experimental.
	LogRetention awslogs.RetentionDays `json:"logRetention"`
	// When log retention is specified, a custom resource attempts to create the CloudWatch log group.
	//
	// These options control the retry policy when interacting with CloudWatch APIs.
	// Experimental.
	LogRetentionRetryOptions *LogRetentionRetryOptions `json:"logRetentionRetryOptions"`
	// The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
	// Experimental.
	LogRetentionRole awsiam.IRole `json:"logRetentionRole"`
	// The amount of memory, in MB, that is allocated to your Lambda function.
	//
	// Lambda uses this value to proportionally allocate the amount of CPU
	// power. For more information, see Resource Model in the AWS Lambda
	// Developer Guide.
	// Experimental.
	MemorySize *float64 `json:"memorySize"`
	// Enable profiling.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	Profiling *bool `json:"profiling"`
	// Profiling Group.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	ProfilingGroup awscodeguruprofiler.IProfilingGroup `json:"profilingGroup"`
	// The maximum of concurrent executions you want to reserve for the function.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
	//
	// Experimental.
	ReservedConcurrentExecutions *float64 `json:"reservedConcurrentExecutions"`
	// Lambda execution role.
	//
	// This is the role that will be assumed by the function upon execution.
	// It controls the permissions that the function will have. The Role must
	// be assumable by the 'lambda.amazonaws.com' service principal.
	//
	// The default Role automatically has permissions granted for Lambda execution. If you
	// provide a Role, you must add the relevant AWS managed policies yourself.
	//
	// The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
	// "service-role/AWSLambdaVPCAccessExecutionRole".
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// The list of security groups to associate with the Lambda's network interfaces.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// The function execution time (in seconds) after which Lambda terminates the function.
	//
	// Because the execution time affects cost, set this value
	// based on the function's expected execution time.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// Enable AWS X-Ray Tracing for Lambda Function.
	// Experimental.
	Tracing Tracing `json:"tracing"`
	// VPC network to place Lambda network interfaces.
	//
	// Specify this if the Lambda function needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied. Note: internet access for Lambdas
	// requires a NAT gateway, so picking Public subnets is not allowed.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"`
	// The source code of your Lambda function.
	//
	// You can point to a file in an
	// Amazon Simple Storage Service (Amazon S3) bucket or specify your source
	// code as inline text.
	// Experimental.
	Code Code `json:"code"`
	// The name of the method within your code that Lambda calls to execute your function.
	//
	// The format includes the file name. It can also include
	// namespaces and other qualifiers, depending on the runtime.
	// For more information, see https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html#gettingstarted-features-programmingmodel.
	//
	// Use `Handler.FROM_IMAGE` when defining a function from a Docker image.
	//
	// NOTE: If you specify your source code as inline text by specifying the
	// ZipFile property within the Code property, specify index.function_name as
	// the handler.
	// Experimental.
	Handler *string `json:"handler"`
	// The runtime environment for the Lambda function that you are uploading.
	//
	// For valid values, see the Runtime property in the AWS Lambda Developer
	// Guide.
	//
	// Use `Runtime.FROM_IMAGE` when when defining a function from a Docker image.
	// Experimental.
	Runtime Runtime `json:"runtime"`
}

Experimental.

type Handler

type Handler interface {
}

Lambda function handler. Experimental.

type IAlias

type IAlias interface {
	IFunction
	// Name of this alias.
	// Experimental.
	AliasName() *string
	// The underlying Lambda function version.
	// Experimental.
	Version() IVersion
}

Experimental.

func Alias_FromAliasAttributes

func Alias_FromAliasAttributes(scope constructs.Construct, id *string, attrs *AliasAttributes) IAlias

Experimental.

type ICodeSigningConfig

type ICodeSigningConfig interface {
	awscdk.IResource
	// The ARN of Code Signing Config.
	// Experimental.
	CodeSigningConfigArn() *string
	// The id of Code Signing Config.
	// Experimental.
	CodeSigningConfigId() *string
}

A Code Signing Config. Experimental.

func CodeSigningConfig_FromCodeSigningConfigArn

func CodeSigningConfig_FromCodeSigningConfigArn(scope constructs.Construct, id *string, codeSigningConfigArn *string) ICodeSigningConfig

Creates a Signing Profile construct that represents an external Signing Profile. Experimental.

type IDestination

type IDestination interface {
	// Binds this destination to the Lambda function.
	// Experimental.
	Bind(scope constructs.Construct, fn IFunction, options *DestinationOptions) *DestinationConfig
}

A Lambda destination. Experimental.

type IEventSource

type IEventSource interface {
	// Called by `lambda.addEventSource` to allow the event source to bind to this function.
	// Experimental.
	Bind(target IFunction)
}

An abstract class which represents an AWS Lambda event source. Experimental.

type IEventSourceDlq

type IEventSourceDlq interface {
	// Returns the DLQ destination config of the DLQ.
	// Experimental.
	Bind(target IEventSourceMapping, targetHandler IFunction) *DlqDestinationConfig
}

A DLQ for an event source. Experimental.

type IEventSourceMapping

type IEventSourceMapping interface {
	awscdk.IResource
	// The identifier for this EventSourceMapping.
	// Experimental.
	EventSourceMappingId() *string
}

Represents an event source mapping for a lambda function. See: https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html

Experimental.

func EventSourceMapping_FromEventSourceMappingId

func EventSourceMapping_FromEventSourceMappingId(scope constructs.Construct, id *string, eventSourceMappingId *string) IEventSourceMapping

Import an event source into this stack from its event source id. Experimental.

type IFunction

type IFunction interface {
	awsec2.IConnectable
	awsiam.IGrantable
	awscdk.IResource
	// Adds an event source to this function.
	//
	// Event sources are implemented in the @aws-cdk/aws-lambda-event-sources module.
	//
	// The following example adds an SQS Queue as an event source:
	// “`
	// import { SqsEventSource } from '@aws-cdk/aws-lambda-event-sources';
	// myFunction.addEventSource(new SqsEventSource(myQueue));
	// “`
	// Experimental.
	AddEventSource(source IEventSource)
	// Adds an event source that maps to this AWS Lambda function.
	// Experimental.
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	// Adds a permission to the Lambda resource policy.
	// See: Permission for details.
	//
	// Experimental.
	AddPermission(id *string, permission *Permission)
	// Adds a statement to the IAM role assumed by the instance.
	// Experimental.
	AddToRolePolicy(statement awsiam.PolicyStatement)
	// Configures options for asynchronous invocation.
	// Experimental.
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	// Grant the given identity permissions to invoke this Lambda.
	// Experimental.
	GrantInvoke(identity awsiam.IGrantable) awsiam.Grant
	// Return the given named metric for this Lambda Return the given named metric for this Function.
	// Experimental.
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the Duration of this Lambda How long execution of this Lambda takes.
	//
	// Average over 5 minutes
	// Experimental.
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// How many invocations of this Lambda fail.
	//
	// Sum over 5 minutes
	// Experimental.
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the number of invocations of this Lambda How often this Lambda is invoked.
	//
	// Sum over 5 minutes
	// Experimental.
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the number of throttled invocations of this Lambda How often this Lambda is throttled.
	//
	// Sum over 5 minutes
	// Experimental.
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// The ARN of the function.
	// Experimental.
	FunctionArn() *string
	// The name of the function.
	// Experimental.
	FunctionName() *string
	// Whether or not this Lambda function was bound to a VPC.
	//
	// If this is is `false`, trying to access the `connections` object will fail.
	// Experimental.
	IsBoundToVpc() *bool
	// The `$LATEST` version of this function.
	//
	// Note that this is reference to a non-specific AWS Lambda version, which
	// means the function this version refers to can return different results in
	// different invocations.
	//
	// To obtain a reference to an explicit version which references the current
	// function configuration, use `lambdaFunction.currentVersion` instead.
	// Experimental.
	LatestVersion() IVersion
	// The construct node where permissions are attached.
	// Experimental.
	PermissionsNode() constructs.Node
	// The IAM role associated with this function.
	// Experimental.
	Role() awsiam.IRole
}

Experimental.

func DockerImageFunction_FromFunctionArn

func DockerImageFunction_FromFunctionArn(scope constructs.Construct, id *string, functionArn *string) IFunction

Import a lambda function into the CDK using its ARN. Experimental.

func DockerImageFunction_FromFunctionAttributes

func DockerImageFunction_FromFunctionAttributes(scope constructs.Construct, id *string, attrs *FunctionAttributes) IFunction

Creates a Lambda function object which represents a function not defined within this stack. Experimental.

func Function_FromFunctionArn

func Function_FromFunctionArn(scope constructs.Construct, id *string, functionArn *string) IFunction

Import a lambda function into the CDK using its ARN. Experimental.

func Function_FromFunctionAttributes

func Function_FromFunctionAttributes(scope constructs.Construct, id *string, attrs *FunctionAttributes) IFunction

Creates a Lambda function object which represents a function not defined within this stack. Experimental.

type ILayerVersion

type ILayerVersion interface {
	awscdk.IResource
	// Add permission for this layer version to specific entities.
	//
	// Usage within
	// the same account where the layer is defined is always allowed and does not
	// require calling this method. Note that the principal that creates the
	// Lambda function using the layer (for example, a CloudFormation changeset
	// execution role) also needs to have the “lambda:GetLayerVersion“
	// permission on the layer version.
	// Experimental.
	AddPermission(id *string, permission *LayerVersionPermission)
	// The runtimes compatible with this Layer.
	// Experimental.
	CompatibleRuntimes() *[]Runtime
	// The ARN of the Lambda Layer version that this Layer defines.
	// Experimental.
	LayerVersionArn() *string
}

Experimental.

func LayerVersion_FromLayerVersionArn

func LayerVersion_FromLayerVersionArn(scope constructs.Construct, id *string, layerVersionArn *string) ILayerVersion

Imports a layer version by ARN.

Assumes it is compatible with all Lambda runtimes. Experimental.

func LayerVersion_FromLayerVersionAttributes

func LayerVersion_FromLayerVersionAttributes(scope constructs.Construct, id *string, attrs *LayerVersionAttributes) ILayerVersion

Imports a Layer that has been defined externally. Experimental.

type IScalableFunctionAttribute

type IScalableFunctionAttribute interface {
	constructs.IConstruct
	// Scale out or in based on schedule.
	// Experimental.
	ScaleOnSchedule(id *string, actions *awsapplicationautoscaling.ScalingSchedule)
	// Scale out or in to keep utilization at a given level.
	//
	// The utilization is tracked by the
	// LambdaProvisionedConcurrencyUtilization metric, emitted by lambda. See:
	// https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html#monitoring-metrics-concurrency
	// Experimental.
	ScaleOnUtilization(options *UtilizationScalingOptions)
}

Interface for scalable attributes. Experimental.

type IVersion

type IVersion interface {
	IFunction
	// Defines an alias for this version.
	// Experimental.
	AddAlias(aliasName *string, options *AliasOptions) Alias
	// The ARN of the version for Lambda@Edge.
	// Experimental.
	EdgeArn() *string
	// The underlying AWS Lambda function.
	// Experimental.
	Lambda() IFunction
	// The most recently deployed version of this function.
	// Experimental.
	Version() *string
}

Experimental.

func Version_FromVersionArn

func Version_FromVersionArn(scope constructs.Construct, id *string, versionArn *string) IVersion

Construct a Version object from a Version ARN. Experimental.

func Version_FromVersionAttributes

func Version_FromVersionAttributes(scope constructs.Construct, id *string, attrs *VersionAttributes) IVersion

Experimental.

type InlineCode

type InlineCode interface {
	Code
	IsInline() *bool
	Bind(_scope constructs.Construct) *CodeConfig
	BindToResource(_resource awscdk.CfnResource, _options *ResourceBindOptions)
}

Lambda code from an inline string (limited to 4KiB). Experimental.

func AssetCode_FromInline

func AssetCode_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

func AssetImageCode_FromInline

func AssetImageCode_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

func CfnParametersCode_FromInline

func CfnParametersCode_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

func Code_FromInline

func Code_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

func EcrImageCode_FromInline

func EcrImageCode_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

func InlineCode_FromInline

func InlineCode_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

func NewInlineCode

func NewInlineCode(code *string) InlineCode

Experimental.

func S3Code_FromInline

func S3Code_FromInline(code *string) InlineCode

Inline code for Lambda handler.

Returns: `LambdaInlineCode` with inline code. Experimental.

type LambdaInsightsVersion

type LambdaInsightsVersion interface {
	LayerVersionArn() *string
}

Version of CloudWatch Lambda Insights. Experimental.

func LambdaInsightsVersion_FromInsightVersionArn

func LambdaInsightsVersion_FromInsightVersionArn(arn *string) LambdaInsightsVersion

Use the insights extension associated with the provided ARN.

Make sure the ARN is associated with same region as your function See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-extension-versions.html

Experimental.

func LambdaInsightsVersion_VERSION_1_0_54_0

func LambdaInsightsVersion_VERSION_1_0_54_0() LambdaInsightsVersion

func LambdaInsightsVersion_VERSION_1_0_86_0

func LambdaInsightsVersion_VERSION_1_0_86_0() LambdaInsightsVersion

func LambdaInsightsVersion_VERSION_1_0_89_0

func LambdaInsightsVersion_VERSION_1_0_89_0() LambdaInsightsVersion

func LambdaInsightsVersion_VERSION_1_0_98_0

func LambdaInsightsVersion_VERSION_1_0_98_0() LambdaInsightsVersion

type LambdaRuntimeProps

type LambdaRuntimeProps struct {
	// The Docker image name to be used for bundling in this runtime.
	// Experimental.
	BundlingDockerImage *string `json:"bundlingDockerImage"`
	// Whether this runtime is integrated with and supported for profiling using Amazon CodeGuru Profiler.
	// Experimental.
	SupportsCodeGuruProfiling *bool `json:"supportsCodeGuruProfiling"`
	// Whether the “ZipFile“ (aka inline code) property can be used with this runtime.
	// Experimental.
	SupportsInlineCode *bool `json:"supportsInlineCode"`
}

Experimental.

type LayerVersion

type LayerVersion interface {
	awscdk.Resource
	ILayerVersion
	CompatibleRuntimes() *[]Runtime
	Env() *awscdk.ResourceEnvironment
	LayerVersionArn() *string
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddPermission(id *string, permission *LayerVersionPermission)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

Defines a new Lambda Layer version. Experimental.

func NewLayerVersion

func NewLayerVersion(scope constructs.Construct, id *string, props *LayerVersionProps) LayerVersion

Experimental.

type LayerVersionAttributes

type LayerVersionAttributes struct {
	// The ARN of the LayerVersion.
	// Experimental.
	LayerVersionArn *string `json:"layerVersionArn"`
	// The list of compatible runtimes with this Layer.
	// Experimental.
	CompatibleRuntimes *[]Runtime `json:"compatibleRuntimes"`
}

Properties necessary to import a LayerVersion. Experimental.

type LayerVersionOptions

type LayerVersionOptions struct {
	// The description the this Lambda Layer.
	// Experimental.
	Description *string `json:"description"`
	// The name of the layer.
	// Experimental.
	LayerVersionName *string `json:"layerVersionName"`
	// The SPDX licence identifier or URL to the license file for this layer.
	// Experimental.
	License *string `json:"license"`
	// Whether to retain this version of the layer when a new version is added or when the stack is deleted.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
}

Non runtime options. Experimental.

type LayerVersionPermission

type LayerVersionPermission struct {
	// The AWS Account id of the account that is authorized to use a Lambda Layer Version.
	//
	// The wild-card “'*'“ can be
	// used to grant access to "any" account (or any account in an organization when “organizationId“ is specified).
	// Experimental.
	AccountId *string `json:"accountId"`
	// The ID of the AWS Organization to which the grant is restricted.
	//
	// Can only be specified if “accountId“ is “'*'“
	// Experimental.
	OrganizationId *string `json:"organizationId"`
}

Identification of an account (or organization) that is allowed to access a Lambda Layer Version. Experimental.

type LayerVersionProps

type LayerVersionProps struct {
	// The description the this Lambda Layer.
	// Experimental.
	Description *string `json:"description"`
	// The name of the layer.
	// Experimental.
	LayerVersionName *string `json:"layerVersionName"`
	// The SPDX licence identifier or URL to the license file for this layer.
	// Experimental.
	License *string `json:"license"`
	// Whether to retain this version of the layer when a new version is added or when the stack is deleted.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
	// The content of this Layer.
	//
	// Using `Code.fromInline` is not supported.
	// Experimental.
	Code Code `json:"code"`
	// The runtimes compatible with this Layer.
	// Experimental.
	CompatibleRuntimes *[]Runtime `json:"compatibleRuntimes"`
}

Experimental.

type LogRetentionRetryOptions

type LogRetentionRetryOptions struct {
	// The base duration to use in the exponential backoff for operation retries.
	// Experimental.
	Base awscdk.Duration `json:"base"`
	// The maximum amount of retries.
	// Experimental.
	MaxRetries *float64 `json:"maxRetries"`
}

Retry options for all AWS API calls. Experimental.

type Permission

type Permission struct {
	// The entity for which you are granting permission to invoke the Lambda function.
	//
	// This entity can be any valid AWS service principal, such as
	// s3.amazonaws.com or sns.amazonaws.com, or, if you are granting
	// cross-account permission, an AWS account ID. For example, you might want
	// to allow a custom application in another AWS account to push events to
	// Lambda by invoking your function.
	//
	// The principal can be either an AccountPrincipal or a ServicePrincipal.
	// Experimental.
	Principal awsiam.IPrincipal `json:"principal"`
	// The Lambda actions that you want to allow in this statement.
	//
	// For example,
	// you can specify lambda:CreateFunction to specify a certain action, or use
	// a wildcard (“lambda:*“) to grant permission to all Lambda actions. For a
	// list of actions, see Actions and Condition Context Keys for AWS Lambda in
	// the IAM User Guide.
	// Experimental.
	Action *string `json:"action"`
	// A unique token that must be supplied by the principal invoking the function.
	// Experimental.
	EventSourceToken *string `json:"eventSourceToken"`
	// The scope to which the permission constructs be attached.
	//
	// The default is
	// the Lambda function construct itself, but this would need to be different
	// in cases such as cross-stack references where the Permissions would need
	// to sit closer to the consumer of this permission (i.e., the caller).
	// Experimental.
	Scope constructs.Construct `json:"scope"`
	// The AWS account ID (without hyphens) of the source owner.
	//
	// For example, if
	// you specify an S3 bucket in the SourceArn property, this value is the
	// bucket owner's account ID. You can use this property to ensure that all
	// source principals are owned by a specific account.
	// Experimental.
	SourceAccount *string `json:"sourceAccount"`
	// The ARN of a resource that is invoking your function.
	//
	// When granting
	// Amazon Simple Storage Service (Amazon S3) permission to invoke your
	// function, specify this property with the bucket ARN as its value. This
	// ensures that events generated only from the specified bucket, not just
	// any bucket from any AWS account that creates a mapping to your function,
	// can invoke the function.
	// Experimental.
	SourceArn *string `json:"sourceArn"`
}

Represents a permission statement that can be added to a Lambda's resource policy via the `addToResourcePolicy` method. Experimental.

type QualifiedFunctionBase

type QualifiedFunctionBase interface {
	FunctionBase
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	Lambda() IFunction
	LatestVersion() IVersion
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Qualifier() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddPermission(id *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

Experimental.

type ResourceBindOptions

type ResourceBindOptions struct {
	// The name of the CloudFormation property to annotate with asset metadata.
	// See: https://github.com/aws/aws-cdk/issues/1432
	//
	// Experimental.
	ResourceProperty *string `json:"resourceProperty"`
}

Experimental.

type Runtime

type Runtime interface {
	BundlingImage() awscdk.DockerImage
	Family() RuntimeFamily
	Name() *string
	SupportsCodeGuruProfiling() *bool
	SupportsInlineCode() *bool
	RuntimeEquals(other Runtime) *bool
	ToString() *string
}

Lambda function runtime environment.

If you need to use a runtime name that doesn't exist as a static member, you can instantiate a `Runtime` object, e.g: `new Runtime('nodejs99.99')`. Experimental.

func NewRuntime

func NewRuntime(name *string, family RuntimeFamily, props *LambdaRuntimeProps) Runtime

Experimental.

func Runtime_DOTNET_CORE_1

func Runtime_DOTNET_CORE_1() Runtime

func Runtime_DOTNET_CORE_2

func Runtime_DOTNET_CORE_2() Runtime

func Runtime_DOTNET_CORE_2_1

func Runtime_DOTNET_CORE_2_1() Runtime

func Runtime_DOTNET_CORE_3_1

func Runtime_DOTNET_CORE_3_1() Runtime

func Runtime_FROM_IMAGE

func Runtime_FROM_IMAGE() Runtime

func Runtime_GO_1_X

func Runtime_GO_1_X() Runtime

func Runtime_JAVA_11

func Runtime_JAVA_11() Runtime

func Runtime_JAVA_8

func Runtime_JAVA_8() Runtime

func Runtime_JAVA_8_CORRETTO

func Runtime_JAVA_8_CORRETTO() Runtime

func Runtime_NODEJS

func Runtime_NODEJS() Runtime

func Runtime_NODEJS_10_X

func Runtime_NODEJS_10_X() Runtime

func Runtime_NODEJS_12_X

func Runtime_NODEJS_12_X() Runtime

func Runtime_NODEJS_14_X

func Runtime_NODEJS_14_X() Runtime

func Runtime_NODEJS_4_3

func Runtime_NODEJS_4_3() Runtime

func Runtime_NODEJS_6_10

func Runtime_NODEJS_6_10() Runtime

func Runtime_NODEJS_8_10

func Runtime_NODEJS_8_10() Runtime

func Runtime_PROVIDED

func Runtime_PROVIDED() Runtime

func Runtime_PROVIDED_AL2

func Runtime_PROVIDED_AL2() Runtime

func Runtime_PYTHON_2_7

func Runtime_PYTHON_2_7() Runtime

func Runtime_PYTHON_3_6

func Runtime_PYTHON_3_6() Runtime

func Runtime_PYTHON_3_7

func Runtime_PYTHON_3_7() Runtime

func Runtime_PYTHON_3_8

func Runtime_PYTHON_3_8() Runtime

func Runtime_PYTHON_3_9

func Runtime_PYTHON_3_9() Runtime

func Runtime_RUBY_2_5

func Runtime_RUBY_2_5() Runtime

func Runtime_RUBY_2_7

func Runtime_RUBY_2_7() Runtime

type RuntimeFamily

type RuntimeFamily string

Experimental.

const (
	RuntimeFamily_NODEJS      RuntimeFamily = "NODEJS"
	RuntimeFamily_JAVA        RuntimeFamily = "JAVA"
	RuntimeFamily_PYTHON      RuntimeFamily = "PYTHON"
	RuntimeFamily_DOTNET_CORE RuntimeFamily = "DOTNET_CORE"
	RuntimeFamily_GO          RuntimeFamily = "GO"
	RuntimeFamily_RUBY        RuntimeFamily = "RUBY"
	RuntimeFamily_OTHER       RuntimeFamily = "OTHER"
)

type S3Code

type S3Code interface {
	Code
	IsInline() *bool
	Bind(_scope constructs.Construct) *CodeConfig
	BindToResource(_resource awscdk.CfnResource, _options *ResourceBindOptions)
}

Lambda code from an S3 archive. Experimental.

func AssetCode_FromBucket

func AssetCode_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

func AssetImageCode_FromBucket

func AssetImageCode_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

func CfnParametersCode_FromBucket

func CfnParametersCode_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

func Code_FromBucket

func Code_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

func EcrImageCode_FromBucket

func EcrImageCode_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

func InlineCode_FromBucket

func InlineCode_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

func NewS3Code

func NewS3Code(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Experimental.

func S3Code_FromBucket

func S3Code_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3Code

Lambda handler code as an S3 object. Experimental.

type SingletonFunction

type SingletonFunction interface {
	FunctionBase
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	CurrentVersion() Version
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	LatestVersion() IVersion
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	AddDependency(up ...constructs.IDependable)
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddPermission(name *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	DependOn(down constructs.IConstruct)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A Lambda that will only ever be added to a stack once.

This construct is a way to guarantee that the lambda function will be guaranteed to be part of the stack, once and only once, irrespective of how many times the construct is declared to be part of the stack. This is guaranteed as long as the `uuid` property and the optional `lambdaPurpose` property stay the same whenever they're declared into the stack. Experimental.

func NewSingletonFunction

func NewSingletonFunction(scope constructs.Construct, id *string, props *SingletonFunctionProps) SingletonFunction

Experimental.

type SingletonFunctionProps

type SingletonFunctionProps struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// Whether to allow the Lambda to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// Lambda to connect to network targets.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Lambda Functions in a public subnet can NOT access the internet.
	//
	// Use this property to acknowledge this limitation and still place the function in a public subnet.
	// See: https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
	//
	// Experimental.
	AllowPublicSubnet *bool `json:"allowPublicSubnet"`
	// Code signing config associated with this function.
	// Experimental.
	CodeSigningConfig ICodeSigningConfig `json:"codeSigningConfig"`
	// Options for the `lambda.Version` resource automatically created by the `fn.currentVersion` method.
	// Experimental.
	CurrentVersionOptions *VersionOptions `json:"currentVersionOptions"`
	// The SQS queue to use if DLQ is enabled.
	// Experimental.
	DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"`
	// Enabled DLQ.
	//
	// If `deadLetterQueue` is undefined,
	// an SQS queue with default options will be defined for your Function.
	// Experimental.
	DeadLetterQueueEnabled *bool `json:"deadLetterQueueEnabled"`
	// A description of the function.
	// Experimental.
	Description *string `json:"description"`
	// Key-value pairs that Lambda caches and makes available for your Lambda functions.
	//
	// Use environment variables to apply configuration changes, such
	// as test and production environment configurations, without changing your
	// Lambda function source code.
	// Experimental.
	Environment *map[string]*string `json:"environment"`
	// The AWS KMS key that's used to encrypt your function's environment variables.
	// Experimental.
	EnvironmentEncryption awskms.IKey `json:"environmentEncryption"`
	// Event sources for this function.
	//
	// You can also add event sources using `addEventSource`.
	// Experimental.
	Events *[]IEventSource `json:"events"`
	// The filesystem configuration for the lambda function.
	// Experimental.
	Filesystem FileSystem `json:"filesystem"`
	// A name for the function.
	// Experimental.
	FunctionName *string `json:"functionName"`
	// Initial policy statements to add to the created Lambda Role.
	//
	// You can call `addToRolePolicy` to the created lambda to add statements post creation.
	// Experimental.
	InitialPolicy *[]awsiam.PolicyStatement `json:"initialPolicy"`
	// Specify the version of CloudWatch Lambda insights to use for monitoring.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights.html
	//
	// Experimental.
	InsightsVersion LambdaInsightsVersion `json:"insightsVersion"`
	// A list of layers to add to the function's execution environment.
	//
	// You can configure your Lambda function to pull in
	// additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies
	// that can be used by multiple functions.
	// Experimental.
	Layers *[]ILayerVersion `json:"layers"`
	// The number of days log events are kept in CloudWatch Logs.
	//
	// When updating
	// this property, unsetting it doesn't remove the log retention policy. To
	// remove the retention policy, set the value to `INFINITE`.
	// Experimental.
	LogRetention awslogs.RetentionDays `json:"logRetention"`
	// When log retention is specified, a custom resource attempts to create the CloudWatch log group.
	//
	// These options control the retry policy when interacting with CloudWatch APIs.
	// Experimental.
	LogRetentionRetryOptions *LogRetentionRetryOptions `json:"logRetentionRetryOptions"`
	// The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
	// Experimental.
	LogRetentionRole awsiam.IRole `json:"logRetentionRole"`
	// The amount of memory, in MB, that is allocated to your Lambda function.
	//
	// Lambda uses this value to proportionally allocate the amount of CPU
	// power. For more information, see Resource Model in the AWS Lambda
	// Developer Guide.
	// Experimental.
	MemorySize *float64 `json:"memorySize"`
	// Enable profiling.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	Profiling *bool `json:"profiling"`
	// Profiling Group.
	// See: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
	//
	// Experimental.
	ProfilingGroup awscodeguruprofiler.IProfilingGroup `json:"profilingGroup"`
	// The maximum of concurrent executions you want to reserve for the function.
	// See: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
	//
	// Experimental.
	ReservedConcurrentExecutions *float64 `json:"reservedConcurrentExecutions"`
	// Lambda execution role.
	//
	// This is the role that will be assumed by the function upon execution.
	// It controls the permissions that the function will have. The Role must
	// be assumable by the 'lambda.amazonaws.com' service principal.
	//
	// The default Role automatically has permissions granted for Lambda execution. If you
	// provide a Role, you must add the relevant AWS managed policies yourself.
	//
	// The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
	// "service-role/AWSLambdaVPCAccessExecutionRole".
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// The list of security groups to associate with the Lambda's network interfaces.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// The function execution time (in seconds) after which Lambda terminates the function.
	//
	// Because the execution time affects cost, set this value
	// based on the function's expected execution time.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// Enable AWS X-Ray Tracing for Lambda Function.
	// Experimental.
	Tracing Tracing `json:"tracing"`
	// VPC network to place Lambda network interfaces.
	//
	// Specify this if the Lambda function needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied. Note: internet access for Lambdas
	// requires a NAT gateway, so picking Public subnets is not allowed.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"`
	// The source code of your Lambda function.
	//
	// You can point to a file in an
	// Amazon Simple Storage Service (Amazon S3) bucket or specify your source
	// code as inline text.
	// Experimental.
	Code Code `json:"code"`
	// The name of the method within your code that Lambda calls to execute your function.
	//
	// The format includes the file name. It can also include
	// namespaces and other qualifiers, depending on the runtime.
	// For more information, see https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html#gettingstarted-features-programmingmodel.
	//
	// Use `Handler.FROM_IMAGE` when defining a function from a Docker image.
	//
	// NOTE: If you specify your source code as inline text by specifying the
	// ZipFile property within the Code property, specify index.function_name as
	// the handler.
	// Experimental.
	Handler *string `json:"handler"`
	// The runtime environment for the Lambda function that you are uploading.
	//
	// For valid values, see the Runtime property in the AWS Lambda Developer
	// Guide.
	//
	// Use `Runtime.FROM_IMAGE` when when defining a function from a Docker image.
	// Experimental.
	Runtime Runtime `json:"runtime"`
	// A unique identifier to identify this lambda.
	//
	// The identifier should be unique across all custom resource providers.
	// We recommend generating a UUID per provider.
	// Experimental.
	Uuid *string `json:"uuid"`
	// A descriptive name for the purpose of this Lambda.
	//
	// If the Lambda does not have a physical name, this string will be
	// reflected its generated name. The combination of lambdaPurpose
	// and uuid must be unique.
	// Experimental.
	LambdaPurpose *string `json:"lambdaPurpose"`
}

Properties for a newly created singleton Lambda. Experimental.

type SourceAccessConfiguration

type SourceAccessConfiguration struct {
	// The type of authentication protocol or the VPC components for your event source.
	//
	// For example: "SASL_SCRAM_512_AUTH".
	// Experimental.
	Type SourceAccessConfigurationType `json:"type"`
	// The value for your chosen configuration in type.
	//
	// For example: "URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".
	// The exact string depends on the type.
	// See: SourceAccessConfigurationType
	//
	// Experimental.
	Uri *string `json:"uri"`
}

Specific settings like the authentication protocol or the VPC components to secure access to your event source. Experimental.

type SourceAccessConfigurationType

type SourceAccessConfigurationType interface {
	Type() *string
}

The type of authentication protocol or the VPC components for your event source's SourceAccessConfiguration. See: https://docs.aws.amazon.com/lambda/latest/dg/API_SourceAccessConfiguration.html#SSS-Type-SourceAccessConfiguration-Type

Experimental.

func SourceAccessConfigurationType_BASIC_AUTH

func SourceAccessConfigurationType_BASIC_AUTH() SourceAccessConfigurationType

func SourceAccessConfigurationType_Of

func SourceAccessConfigurationType_Of(name *string) SourceAccessConfigurationType

A custom source access configuration property. Experimental.

func SourceAccessConfigurationType_SASL_SCRAM_256_AUTH

func SourceAccessConfigurationType_SASL_SCRAM_256_AUTH() SourceAccessConfigurationType

func SourceAccessConfigurationType_SASL_SCRAM_512_AUTH

func SourceAccessConfigurationType_SASL_SCRAM_512_AUTH() SourceAccessConfigurationType

func SourceAccessConfigurationType_VPC_SECURITY_GROUP

func SourceAccessConfigurationType_VPC_SECURITY_GROUP() SourceAccessConfigurationType

func SourceAccessConfigurationType_VPC_SUBNET

func SourceAccessConfigurationType_VPC_SUBNET() SourceAccessConfigurationType

type StartingPosition

type StartingPosition string

The position in the DynamoDB, Kinesis or MSK stream where AWS Lambda should start reading. Experimental.

const (
	StartingPosition_TRIM_HORIZON StartingPosition = "TRIM_HORIZON"
	StartingPosition_LATEST       StartingPosition = "LATEST"
)

type Tracing

type Tracing string

X-Ray Tracing Modes (https://docs.aws.amazon.com/lambda/latest/dg/API_TracingConfig.html). Experimental.

const (
	Tracing_ACTIVE       Tracing = "ACTIVE"
	Tracing_PASS_THROUGH Tracing = "PASS_THROUGH"
	Tracing_DISABLED     Tracing = "DISABLED"
)

type UntrustedArtifactOnDeployment

type UntrustedArtifactOnDeployment string

Code signing configuration policy for deployment validation failure. Experimental.

const (
	UntrustedArtifactOnDeployment_ENFORCE UntrustedArtifactOnDeployment = "ENFORCE"
	UntrustedArtifactOnDeployment_WARN    UntrustedArtifactOnDeployment = "WARN"
)

type UtilizationScalingOptions

type UtilizationScalingOptions struct {
	// Indicates whether scale in by the target tracking policy is disabled.
	//
	// If the value is true, scale in is disabled and the target tracking policy
	// won't remove capacity from the scalable resource. Otherwise, scale in is
	// enabled and the target tracking policy can remove capacity from the
	// scalable resource.
	// Experimental.
	DisableScaleIn *bool `json:"disableScaleIn"`
	// A name for the scaling policy.
	// Experimental.
	PolicyName *string `json:"policyName"`
	// Period after a scale in activity completes before another scale in activity can start.
	// Experimental.
	ScaleInCooldown awscdk.Duration `json:"scaleInCooldown"`
	// Period after a scale out activity completes before another scale out activity can start.
	// Experimental.
	ScaleOutCooldown awscdk.Duration `json:"scaleOutCooldown"`
	// Utilization target for the attribute.
	//
	// For example, .5 indicates that 50 percent of allocated provisioned concurrency is in use.
	// Experimental.
	UtilizationTarget *float64 `json:"utilizationTarget"`
}

Options for enabling Lambda utilization tracking. Experimental.

type Version

type Version interface {
	QualifiedFunctionBase
	IVersion
	CanCreatePermissions() *bool
	Connections() awsec2.Connections
	EdgeArn() *string
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	GrantPrincipal() awsiam.IPrincipal
	IsBoundToVpc() *bool
	Lambda() IFunction
	LatestVersion() IVersion
	Node() constructs.Node
	PermissionsNode() constructs.Node
	PhysicalName() *string
	Qualifier() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	Version() *string
	AddAlias(aliasName *string, options *AliasOptions) Alias
	AddEventSource(source IEventSource)
	AddEventSourceMapping(id *string, options *EventSourceMappingOptions) EventSourceMapping
	AddPermission(id *string, permission *Permission)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConfigureAsyncInvoke(options *EventInvokeConfigOptions)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricInvocations(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricThrottles(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A single newly-deployed version of a Lambda function.

This object exists to--at deploy time--query the "then-current" version of the Lambda function that it refers to. This Version object can then be used in `Alias` to refer to a particular deployment of a Lambda.

This means that for every new update you deploy to your Lambda (using the CDK and Aliases), you must always create a new Version object. In particular, it must have a different name, so that a new resource is created.

If you want to ensure that you're associating the right version with the right deployment, specify the `codeSha256` property while creating the `Version. Experimental.

func NewVersion

func NewVersion(scope constructs.Construct, id *string, props *VersionProps) Version

Experimental.

type VersionAttributes

type VersionAttributes struct {
	// The lambda function.
	// Experimental.
	Lambda IFunction `json:"lambda"`
	// The version.
	// Experimental.
	Version *string `json:"version"`
}

Experimental.

type VersionOptions

type VersionOptions struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// SHA256 of the version of the Lambda source code.
	//
	// Specify to validate that you're deploying the right version.
	// Experimental.
	CodeSha256 *string `json:"codeSha256"`
	// Description of the version.
	// Experimental.
	Description *string `json:"description"`
	// Specifies a provisioned concurrency configuration for a function's version.
	// Experimental.
	ProvisionedConcurrentExecutions *float64 `json:"provisionedConcurrentExecutions"`
	// Whether to retain old versions of this function when a new version is created.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
}

Options for `lambda.Version`. Experimental.

type VersionProps

type VersionProps struct {
	// The maximum age of a request that Lambda sends to a function for processing.
	//
	// Minimum: 60 seconds
	// Maximum: 6 hours
	// Experimental.
	MaxEventAge awscdk.Duration `json:"maxEventAge"`
	// The destination for failed invocations.
	// Experimental.
	OnFailure IDestination `json:"onFailure"`
	// The destination for successful invocations.
	// Experimental.
	OnSuccess IDestination `json:"onSuccess"`
	// The maximum number of times to retry when the function returns an error.
	//
	// Minimum: 0
	// Maximum: 2
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts"`
	// SHA256 of the version of the Lambda source code.
	//
	// Specify to validate that you're deploying the right version.
	// Experimental.
	CodeSha256 *string `json:"codeSha256"`
	// Description of the version.
	// Experimental.
	Description *string `json:"description"`
	// Specifies a provisioned concurrency configuration for a function's version.
	// Experimental.
	ProvisionedConcurrentExecutions *float64 `json:"provisionedConcurrentExecutions"`
	// Whether to retain old versions of this function when a new version is created.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
	// Function to get the value of.
	// Experimental.
	Lambda IFunction `json:"lambda"`
}

Properties for a new Lambda version. Experimental.

type VersionWeight

type VersionWeight struct {
	// The version to route traffic to.
	// Experimental.
	Version IVersion `json:"version"`
	// How much weight to assign to this version (0..1).
	// Experimental.
	Weight *float64 `json:"weight"`
}

A version/weight pair for routing traffic to Lambda functions. Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL