class Aws::Lambda::Types::CreateFunctionRequest

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

data as a hash:

    {
      function_name: "FunctionName", # required
      runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
      role: "RoleArn", # required
      handler: "Handler",
      code: { # required
        zip_file: "data",
        s3_bucket: "S3Bucket",
        s3_key: "S3Key",
        s3_object_version: "S3ObjectVersion",
        image_uri: "String",
      },
      description: "Description",
      timeout: 1,
      memory_size: 1,
      publish: false,
      vpc_config: {
        subnet_ids: ["SubnetId"],
        security_group_ids: ["SecurityGroupId"],
      },
      package_type: "Zip", # accepts Zip, Image
      dead_letter_config: {
        target_arn: "ResourceArn",
      },
      environment: {
        variables: {
          "EnvironmentVariableName" => "EnvironmentVariableValue",
        },
      },
      kms_key_arn: "KMSKeyArn",
      tracing_config: {
        mode: "Active", # accepts Active, PassThrough
      },
      tags: {
        "TagKey" => "TagValue",
      },
      layers: ["LayerVersionArn"],
      file_system_configs: [
        {
          arn: "FileSystemArn", # required
          local_mount_path: "LocalMountPath", # required
        },
      ],
      image_config: {
        entry_point: ["String"],
        command: ["String"],
        working_directory: "WorkingDirectory",
      },
      code_signing_config_arn: "CodeSigningConfigArn",
    }

@!attribute [rw] function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.
@return [String]

@!attribute [rw] runtime

The identifier of the function's [runtime][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
@return [String]

@!attribute [rw] role

The Amazon Resource Name (ARN) of the function's execution role.
@return [String]

@!attribute [rw] handler

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 [Programming Model][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html
@return [String]

@!attribute [rw] code

The code for the function.
@return [Types::FunctionCode]

@!attribute [rw] description

A description of the function.
@return [String]

@!attribute [rw] timeout

The amount of time that Lambda allows a function to run before
stopping it. The default is 3 seconds. The maximum allowed value is
900 seconds. For additional information, see [Lambda execution
environment][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html
@return [Integer]

@!attribute [rw] memory_size

The amount of [memory available to the function][1] at runtime.
Increasing the function memory also increases its CPU allocation.
The default value is 128 MB. The value can be any multiple of 1 MB.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html
@return [Integer]

@!attribute [rw] publish

Set to true to publish the first version of the function during
creation.
@return [Boolean]

@!attribute [rw] vpc_config

For network connectivity to Amazon Web Services resources in a VPC,
specify a list of security groups and subnets in the VPC. When you
connect a function to a VPC, it can only access resources and the
internet through that VPC. For more information, see [VPC
Settings][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
@return [Types::VpcConfig]

@!attribute [rw] package_type

The type of deployment package. Set to `Image` for container image
and set `Zip` for ZIP archive.
@return [String]

@!attribute [rw] dead_letter_config

A dead letter queue configuration that specifies the queue or topic
where Lambda sends asynchronous events when they fail processing.
For more information, see [Dead Letter Queues][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
@return [Types::DeadLetterConfig]

@!attribute [rw] environment

Environment variables that are accessible from function code during
execution.
@return [Types::Environment]

@!attribute [rw] kms_key_arn

The ARN of the Amazon Web Services Key Management Service (KMS) key
that's used to encrypt your function's environment variables. If
it's not provided, Lambda uses a default service key.
@return [String]

@!attribute [rw] tracing_config

Set `Mode` to `Active` to sample and trace a subset of incoming
requests with [X-Ray][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html
@return [Types::TracingConfig]

@!attribute [rw] tags

A list of [tags][1] to apply to the function.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/tagging.html
@return [Hash<String,String>]

@!attribute [rw] layers

A list of [function layers][1] to add to the function's execution
environment. Specify each layer by its ARN, including the version.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
@return [Array<String>]

@!attribute [rw] file_system_configs

Connection settings for an Amazon EFS file system.
@return [Array<Types::FileSystemConfig>]

@!attribute [rw] image_config

Container image [configuration values][1] that override the values
in the container image Dockerfile.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings
@return [Types::ImageConfig]

@!attribute [rw] code_signing_config_arn

To enable code signing for this function, specify the ARN of a
code-signing configuration. A code-signing configuration includes a
set of signing profiles, which define the trusted publishers for
this function.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunctionRequest AWS API Documentation

Constants

SENSITIVE