Intel® Optimized Cloud Modules for Terraform
See examples folder and the respective README.md files for usage instructions.
AWS Lambda — Managed Instances
Terraform module that deploys an AWS Lambda function with the new Managed Instances functionality using the aws_lambda_capacity_provider resource.
The module uses Intel x86_64 architecture and implements instance types to Intel 4th-generation (7i) EC2 families (m7i, c7i, r7i, r7iz).
For more information on the supported instance types and their capabilities, see the AWS Lambda Managed Instances documentation .
Example
Description
resnet50-int8-classification
End-to-end AI inference benchmark : ResNet-50 v1.5 INT8 image classification with Intel OpenVINO, comparing a managed Intel Xeon 7i instance against standard serverless Lambda (container image + S3 pipeline + live cost analysis).
existing-vpc
Deploy into an existing VPC (subnets + optional security groups) with an S3-triggered file-processing pipeline.
new-vpc
Create a new VPC with terraform-aws-modules/vpc/aws , then deploy the Lambda Managed Instance.
Name
Version
terraform
>= 1.0
aws
>= 6.0
archive
>= 2.0
time
>= 0.9
Name
Description
Type
Default
Required
lambda_function_name
Override the Lambda function name
string
""
no
lambda_description
Lambda function description
string
"Lambda function deployed with Managed Instances (Capacity Provider)"
no
lambda_handler
Handler entry point (ZIP mode)
string
"index.handler"
no
lambda_runtime
Runtime (ZIP mode)
string
"python3.14"
no
lambda_timeout
Timeout in seconds
number
30
no
lambda_memory_size
Memory in MB
number
4096
no
lambda_environment_variables
Environment variables map
map(string)
{}
no
Name
Description
Type
Default
Required
package_type
Deployment package type: Zip or Image
string
"Zip"
no
lambda_source_dir
Path to source directory (required when package_type = "Zip")
string
""
no
image_uri
ECR image URI (required when package_type = "Image")
string
""
no
image_command
Override the container image CMD
list(string)
null
no
Capacity Provider & scaling
Name
Description
Type
Default
Required
capacity_provider_name
Override the Capacity Provider name
string
""
no
capacity_provider_max_vcpu_count
Max vCPUs the provider may scale to
number
12
no
capacity_provider_scaling_mode
Auto or Manual
string
"Manual"
no
capacity_provider_scaling_policies
Target-tracking policies (Manual mode)
list(object)
Avg CPU @ 70%
no
per_execution_environment_max_concurrency
Max concurrent invocations per execution environment (set 1 for CPU-bound inference)
number
null
no
S3 event pipeline (optional)
Name
Description
Type
Default
Required
create_s3_buckets
Create input/output buckets and the Lambda trigger
bool
false
no
vpc_id
VPC ID (required when create_s3_buckets = true)
string
""
no
input_bucket_name
Input bucket name (auto-generated if empty)
string
""
no
output_bucket_name
Output bucket name (auto-generated if empty)
string
""
no
s3_force_destroy
Destroy buckets even when non-empty
bool
false
no
create_s3_notification
Create the S3 → Lambda notification
bool
true
no
s3_trigger_prefix
S3 key prefix filter
string
""
no
s3_trigger_suffix
S3 key suffix filter
string
""
no
IAM & restricted accounts
Name
Description
Type
Default
Required
create_iam_roles
Create IAM roles (set false for managed accounts)
bool
true
no
lambda_execution_role_arn
Existing Lambda execution role ARN
string
""
no
capacity_provider_role_arn
Existing Capacity Provider operator role ARN
string
""
no
create_s3_public_access_block
Create S3 public-access blocks
bool
true
no
Name
Description
lambda_function_arn
ARN of the Lambda function
lambda_function_name
Name of the Lambda function
lambda_function_invoke_arn
Invoke ARN of the Lambda function
lambda_function_version
Latest published version
lambda_function_qualified_arn
Qualified ARN of the Lambda function
capacity_provider_arn
ARN of the Lambda Capacity Provider
capacity_provider_name
Name of the Lambda Capacity Provider
lambda_role_arn
ARN of the Lambda execution IAM role
lambda_role_name
Name of the Lambda execution IAM role
capacity_provider_role_arn
ARN of the Capacity Provider operator IAM role
capacity_provider_role_name
Name of the Capacity Provider operator IAM role
input_bucket_name
Name of the S3 input bucket (empty if S3 not enabled)
input_bucket_arn
ARN of the S3 input bucket (empty if S3 not enabled)
output_bucket_name
Name of the S3 output bucket (empty if S3 not enabled)
output_bucket_arn
ARN of the S3 output bucket (empty if S3 not enabled)
lambda_alias_arn
ARN of the Lambda live alias used for S3 invocation (empty if S3 not enabled)
.
├── main.tf # Module: Lambda, Capacity Provider, IAM, optional S3 pipeline
├── variables.tf # Module inputs
├── outputs.tf # Module outputs
├── versions.tf # Provider requirements
├── lambda/
│ └── index.py # Sample Python Lambda function (ZIP mode)
├── examples/
│ ├── existing-vpc/ # Deploy into a pre-existing VPC
│ ├── new-vpc/ # Create a new VPC, then deploy
│ └── resnet50-int8-classification/ # Intel Xeon 7i vs standard Lambda AI benchmark
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
└── security.md