Interface IFunction

All Superinterfaces:
IConnectable, software.constructs.IConstruct, software.constructs.IDependable, IGrantable, IResource, software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
IAlias, IAlias.Jsii$Default, IFunction.Jsii$Default, IVersion, IVersion.Jsii$Default
All Known Implementing Classes:
Alias, DockerImageFunction, EdgeFunction, Function, FunctionBase, GoFunction, IAlias.Jsii$Proxy, IFunction.Jsii$Proxy, IVersion.Jsii$Proxy, NodejsFunction, PythonFunction, QualifiedFunctionBase, SingletonFunction, TriggerFunction, Version

@Generated(value="jsii-pacmak/1.99.0 (build 8f757e4)", date="2024-06-13T18:49:21.025Z") @Stability(Stable) public interface IFunction extends software.amazon.jsii.JsiiSerializable, IResource, IConnectable, IGrantable
  • Method Details

    • getArchitecture

      @Stability(Stable) @NotNull Architecture getArchitecture()
      The system architectures compatible with this lambda function.
    • getFunctionArn

      @Stability(Stable) @NotNull String getFunctionArn()
      The ARN of the function.
    • getFunctionName

      @Stability(Stable) @NotNull String getFunctionName()
      The name of the function.
    • getIsBoundToVpc

      @Stability(Stable) @NotNull Boolean getIsBoundToVpc()
      Whether or not this Lambda function was bound to a VPC.

      If this is is false, trying to access the connections object will fail.

    • getLatestVersion

      @Stability(Stable) @NotNull IVersion getLatestVersion()
      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.

    • getPermissionsNode

      @Stability(Stable) @NotNull software.constructs.Node getPermissionsNode()
      The construct node where permissions are attached.
    • getResourceArnsForGrantInvoke

      @Stability(Stable) @NotNull List<String> getResourceArnsForGrantInvoke()
      The ARN(s) to put into the resource field of the generated IAM policy for grantInvoke().

      This property is for cdk modules to consume only. You should not need to use this property. Instead, use grantInvoke() directly.

    • getRole

      @Stability(Stable) @Nullable default IRole getRole()
      The IAM role associated with this function.
    • addEventSource

      @Stability(Stable) void addEventSource(@NotNull IEventSource source)
      Adds an event source to this function.

      Event sources are implemented in the aws-cdk-lib/aws-lambda-event-sources module.

      The following example adds an SQS Queue as an event source:

       import { SqsEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
       myFunction.addEventSource(new SqsEventSource(myQueue));
       

      Parameters:
      source - This parameter is required.
    • addEventSourceMapping

      @Stability(Stable) @NotNull EventSourceMapping addEventSourceMapping(@NotNull String id, @NotNull EventSourceMappingOptions options)
      Adds an event source that maps to this AWS Lambda function.

      Parameters:
      id - construct ID. This parameter is required.
      options - mapping options. This parameter is required.
    • addFunctionUrl

      @Stability(Stable) @NotNull FunctionUrl addFunctionUrl(@Nullable FunctionUrlOptions options)
      Adds a url to this lambda function.

      Parameters:
      options -
    • addFunctionUrl

      @Stability(Stable) @NotNull FunctionUrl addFunctionUrl()
      Adds a url to this lambda function.
    • addPermission

      @Stability(Stable) void addPermission(@NotNull String id, @NotNull Permission permission)
      Adds a permission to the Lambda resource policy.

      Parameters:
      id - The id for the permission construct. This parameter is required.
      permission - The permission to grant to this Lambda function. This parameter is required.
      See Also:
    • addToRolePolicy

      @Stability(Stable) void addToRolePolicy(@NotNull PolicyStatement statement)
      Adds a statement to the IAM role assumed by the instance.

      Parameters:
      statement - This parameter is required.
    • configureAsyncInvoke

      @Stability(Stable) void configureAsyncInvoke(@NotNull EventInvokeConfigOptions options)
      Configures options for asynchronous invocation.

      Parameters:
      options - This parameter is required.
    • grantInvoke

      @Stability(Stable) @NotNull Grant grantInvoke(@NotNull IGrantable identity)
      Grant the given identity permissions to invoke this Lambda.

      Parameters:
      identity - This parameter is required.
    • grantInvokeCompositePrincipal

      @Stability(Stable) @NotNull List<Grant> grantInvokeCompositePrincipal(@NotNull CompositePrincipal compositePrincipal)
      Grant multiple principals the ability to invoke this Lambda via CompositePrincipal.

      Parameters:
      compositePrincipal - This parameter is required.
    • grantInvokeUrl

      @Stability(Stable) @NotNull Grant grantInvokeUrl(@NotNull IGrantable identity)
      Grant the given identity permissions to invoke this Lambda Function URL.

      Parameters:
      identity - This parameter is required.
    • metric

      @Stability(Stable) @NotNull Metric metric(@NotNull String metricName, @Nullable MetricOptions props)
      Return the given named metric for this Lambda Return the given named metric for this Function.

      Parameters:
      metricName - This parameter is required.
      props -
    • metric

      @Stability(Stable) @NotNull Metric metric(@NotNull String metricName)
      Return the given named metric for this Lambda Return the given named metric for this Function.

      Parameters:
      metricName - This parameter is required.
    • metricDuration

      @Stability(Stable) @NotNull Metric metricDuration(@Nullable MetricOptions props)
      Metric for the Duration of this Lambda How long execution of this Lambda takes.

      Average over 5 minutes

      Default: average over 5 minutes

      Parameters:
      props -
    • metricDuration

      @Stability(Stable) @NotNull Metric metricDuration()
      Metric for the Duration of this Lambda How long execution of this Lambda takes.

      Average over 5 minutes

      Default: average over 5 minutes

    • metricErrors

      @Stability(Stable) @NotNull Metric metricErrors(@Nullable MetricOptions props)
      How many invocations of this Lambda fail.

      Sum over 5 minutes

      Parameters:
      props -
    • metricErrors

      @Stability(Stable) @NotNull Metric metricErrors()
      How many invocations of this Lambda fail.

      Sum over 5 minutes

    • metricInvocations

      @Stability(Stable) @NotNull Metric metricInvocations(@Nullable MetricOptions props)
      Metric for the number of invocations of this Lambda How often this Lambda is invoked.

      Sum over 5 minutes

      Default: sum over 5 minutes

      Parameters:
      props -
    • metricInvocations

      @Stability(Stable) @NotNull Metric metricInvocations()
      Metric for the number of invocations of this Lambda How often this Lambda is invoked.

      Sum over 5 minutes

      Default: sum over 5 minutes

    • metricThrottles

      @Stability(Stable) @NotNull Metric metricThrottles(@Nullable MetricOptions props)
      Metric for the number of throttled invocations of this Lambda How often this Lambda is throttled.

      Sum over 5 minutes

      Default: sum over 5 minutes

      Parameters:
      props -
    • metricThrottles

      @Stability(Stable) @NotNull Metric metricThrottles()
      Metric for the number of throttled invocations of this Lambda How often this Lambda is throttled.

      Sum over 5 minutes

      Default: sum over 5 minutes