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", # required, accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, java8, python2.7, python3.6, python3.7, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, nodejs4.3-edge, go1.x, ruby2.5, provided
  role: "RoleArn", # required
  handler: "Handler", # required
  code: { # required
    zip_file: "data",
    s3_bucket: "S3Bucket",
    s3_key: "S3Key",
    s3_object_version: "S3ObjectVersion",
  },
  description: "Description",
  timeout: 1,
  memory_size: 1,
  publish: false,
  vpc_config: {
    subnet_ids: ["SubnetId"],
    security_group_ids: ["SecurityGroupId"],
  },
  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"],
}

Instance Attribute Summary collapse

Instance Attribute Details

#codeTypes::FunctionCode

The code for the function.

Returns:



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  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/dlq.html



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#descriptionString

A description of the function.

Returns:

  • (String)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#environmentTypes::Environment

Environment variables that are accessible from function code during execution.

Returns:



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  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)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#handlerString

The name of the method within your code that Lambda calls to execute your function. The format includes the filename and 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)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#kms_key_arnString

The ARN of the AWS Key Management Service key used to encrypt your function’s environment variables. If not provided, AWS Lambda uses a default service key.

Returns:

  • (String)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#layersArray<String>

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

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

Returns:

  • (Array<String>)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#memory_sizeInteger

The amount of memory that your function has access to. Increasing the function’s memory also increases it’s CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

Returns:

  • (Integer)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#publishBoolean

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

Returns:

  • (Boolean)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#roleString

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

Returns:

  • (String)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#runtimeString

The identifier of the function’s [runtime].

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

Returns:

  • (String)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  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>)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#timeoutInteger

The amount of time that Lambda allows a function to run before terminating it. The default is 3 seconds. The maximum allowed value is 900 seconds.

Returns:

  • (Integer)


638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end

#tracing_configTypes::TracingConfig

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



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  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].

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

Returns:



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/aws-sdk-lambda/types.rb', line 638

class CreateFunctionRequest < Struct.new(
  :function_name,
  :runtime,
  :role,
  :handler,
  :code,
  :description,
  :timeout,
  :memory_size,
  :publish,
  :vpc_config,
  :dead_letter_config,
  :environment,
  :kms_key_arn,
  :tracing_config,
  :tags,
  :layers)
  include Aws::Structure
end