Class: Aws::Lambda::Types::CreateFunctionRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-lambda/types.rb

Overview

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, nodejs16.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, dotnet6, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2, nodejs18.x
  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",
  architectures: ["x86_64"], # accepts x86_64, arm64
  ephemeral_storage: {
    size: 1, # required
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#architecturesArray<String>

The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is `x86_64`.

Returns:

  • (Array<String>)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#codeTypes::FunctionCode

The code for the function.

Returns:



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#code_signing_config_arnString

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.

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#dead_letter_configTypes::DeadLetterConfig

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]: docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

A description of the function.

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#environmentTypes::Environment

Environment variables that are accessible from function code during execution.

Returns:



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#ephemeral_storageTypes::EphemeralStorage

The size of the function’s /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10240 MB.



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#file_system_configsArray<Types::FileSystemConfig>

Connection settings for an Amazon EFS file system.

Returns:



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#function_nameString

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.

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#handlerString

The name of the method within your code that Lambda calls to execute your function. Handler is required if the deployment package is a .zip file archive. 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]: docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#image_configTypes::ImageConfig

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings

Returns:



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#kms_key_arnString

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.

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#layersArray<String>

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

Returns:

  • (Array<String>)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#memory_sizeInteger

The amount of [memory available to the function] 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]: docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html

Returns:

  • (Integer)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#package_typeString

The type of deployment package. Set to `Image` for container image and set `Zip` for ZIP archive.

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#publishBoolean

Set to true to publish the first version of the function during creation.

Returns:

  • (Boolean)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#roleString

The Amazon Resource Name (ARN) of the function's execution role.

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#runtimeString

The identifier of the function's [runtime]. Runtime is required if the deployment package is a .zip file archive.

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

Returns:

  • (String)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#tagsHash<String,String>

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

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

Returns:

  • (Hash<String,String>)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#timeoutInteger

The amount of time (in seconds) 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]: docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html

Returns:

  • (Integer)


1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#tracing_configTypes::TracingConfig

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

[1]: docs.aws.amazon.com/lambda/latest/dg/services-xray.html



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end

#vpc_configTypes::VpcConfig

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]: docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html

Returns:



1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
# File 'lib/aws-sdk-lambda/types.rb', line 1223

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :package_type,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers,
  :file_system_configs,
  :image_config,
  :code_signing_config_arn,
  :architectures,
  :ephemeral_storage)
  SENSITIVE = []
  include Aws::Structure
end