AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-lambda/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, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, 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",
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#codeTypes::FunctionCode

The code for the function.

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  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)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  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.



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

A description of the function.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#environmentTypes::Environment

Environment variables that are accessible from function code during execution.

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#file_system_configsArray<Types::FileSystemConfig>

Connection settings for an Amazon EFS file system.

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  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)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#handlerString

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.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#image_configTypes::ImageConfig

Configuration values that override the container image Dockerfile.

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#kms_key_arnString

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  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.

Returns:

  • (Array<String>)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#memory_sizeInteger

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

Returns:

  • (Integer)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  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)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#publishBoolean

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

Returns:

  • (Boolean)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#roleString

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

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#runtimeString

The identifier of the function's runtime.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#tagsHash<String,String>

A list of tags to apply to the function.

Returns:

  • (Hash<String,String>)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#timeoutInteger

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.

Returns:

  • (Integer)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#tracing_configTypes::TracingConfig

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



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end

#vpc_configTypes::VpcConfig

For network connectivity to AWS 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.

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
# File 'gems/aws-sdk-lambda/lib/aws-sdk-lambda/types.rb', line 990

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)
  SENSITIVE = []
  include Aws::Structure
end