-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Lambda Support for Ephemeral Storage upto 10GB #23873
[Feature] Lambda Support for Ephemeral Storage upto 10GB #23873
Conversation
f724639
to
0c2a290
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
Commercial
% make testacc TESTS=TestAccLambdaFunction PKG=lambda ACCTEST_PARALLELISM=3
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/lambda/... -v -count 1 -parallel 3 -run='TestAccLambdaFunction' -timeout 180m
=== RUN TestAccLambdaFunctionDataSource_basic
=== PAUSE TestAccLambdaFunctionDataSource_basic
=== RUN TestAccLambdaFunctionDataSource_version
=== PAUSE TestAccLambdaFunctionDataSource_version
=== RUN TestAccLambdaFunctionDataSource_alias
=== PAUSE TestAccLambdaFunctionDataSource_alias
=== RUN TestAccLambdaFunctionDataSource_layers
=== PAUSE TestAccLambdaFunctionDataSource_layers
=== RUN TestAccLambdaFunctionDataSource_vpc
=== PAUSE TestAccLambdaFunctionDataSource_vpc
=== RUN TestAccLambdaFunctionDataSource_environment
=== PAUSE TestAccLambdaFunctionDataSource_environment
=== RUN TestAccLambdaFunctionDataSource_fileSystem
=== PAUSE TestAccLambdaFunctionDataSource_fileSystem
=== RUN TestAccLambdaFunctionDataSource_image
=== PAUSE TestAccLambdaFunctionDataSource_image
=== RUN TestAccLambdaFunctionDataSource_architectures
=== PAUSE TestAccLambdaFunctionDataSource_architectures
=== RUN TestAccLambdaFunctionDataSource_ephemeralStorage
=== PAUSE TestAccLambdaFunctionDataSource_ephemeralStorage
=== RUN TestAccLambdaFunctionEventInvokeConfig_basic
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_basic
=== RUN TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunction
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunction
=== RUN TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunctionEventInvoke
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunctionEventInvoke
=== RUN TestAccLambdaFunctionEventInvokeConfig_DestinationOnFailure_destination
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_DestinationOnFailure_destination
=== RUN TestAccLambdaFunctionEventInvokeConfig_DestinationOnSuccess_destination
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_DestinationOnSuccess_destination
=== RUN TestAccLambdaFunctionEventInvokeConfig_Destination_remove
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Destination_remove
=== RUN TestAccLambdaFunctionEventInvokeConfig_Destination_swap
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Destination_swap
=== RUN TestAccLambdaFunctionEventInvokeConfig_FunctionName_arn
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_FunctionName_arn
=== RUN TestAccLambdaFunctionEventInvokeConfig_QualifierFunctionName_arn
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_QualifierFunctionName_arn
=== RUN TestAccLambdaFunctionEventInvokeConfig_maximumEventAgeInSeconds
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_maximumEventAgeInSeconds
=== RUN TestAccLambdaFunctionEventInvokeConfig_maximumRetryAttempts
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_maximumRetryAttempts
=== RUN TestAccLambdaFunctionEventInvokeConfig_Qualifier_aliasName
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Qualifier_aliasName
=== RUN TestAccLambdaFunctionEventInvokeConfig_Qualifier_functionVersion
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Qualifier_functionVersion
=== RUN TestAccLambdaFunctionEventInvokeConfig_Qualifier_latest
=== PAUSE TestAccLambdaFunctionEventInvokeConfig_Qualifier_latest
=== RUN TestAccLambdaFunction_basic
=== PAUSE TestAccLambdaFunction_basic
=== RUN TestAccLambdaFunction_unpublishedCodeUpdate
=== PAUSE TestAccLambdaFunction_unpublishedCodeUpdate
=== RUN TestAccLambdaFunction_disappears
=== PAUSE TestAccLambdaFunction_disappears
=== RUN TestAccLambdaFunction_codeSigning
=== PAUSE TestAccLambdaFunction_codeSigning
=== RUN TestAccLambdaFunction_concurrency
=== PAUSE TestAccLambdaFunction_concurrency
=== RUN TestAccLambdaFunction_concurrencyCycle
=== PAUSE TestAccLambdaFunction_concurrencyCycle
=== RUN TestAccLambdaFunction_expectFilenameAndS3Attributes
=== PAUSE TestAccLambdaFunction_expectFilenameAndS3Attributes
=== RUN TestAccLambdaFunction_envVariables
=== PAUSE TestAccLambdaFunction_envVariables
=== RUN TestAccLambdaFunction_EnvironmentVariables_noValue
=== PAUSE TestAccLambdaFunction_EnvironmentVariables_noValue
=== RUN TestAccLambdaFunction_encryptedEnvVariables
=== PAUSE TestAccLambdaFunction_encryptedEnvVariables
=== RUN TestAccLambdaFunction_versioned
=== PAUSE TestAccLambdaFunction_versioned
=== RUN TestAccLambdaFunction_versionedUpdate
=== PAUSE TestAccLambdaFunction_versionedUpdate
=== RUN TestAccLambdaFunction_enablePublish
=== PAUSE TestAccLambdaFunction_enablePublish
=== RUN TestAccLambdaFunction_disablePublish
=== PAUSE TestAccLambdaFunction_disablePublish
=== RUN TestAccLambdaFunction_deadLetter
=== PAUSE TestAccLambdaFunction_deadLetter
=== RUN TestAccLambdaFunction_deadLetterUpdated
=== PAUSE TestAccLambdaFunction_deadLetterUpdated
=== RUN TestAccLambdaFunction_nilDeadLetter
=== PAUSE TestAccLambdaFunction_nilDeadLetter
=== RUN TestAccLambdaFunction_fileSystem
=== PAUSE TestAccLambdaFunction_fileSystem
=== RUN TestAccLambdaFunction_image
=== PAUSE TestAccLambdaFunction_image
=== RUN TestAccLambdaFunction_architectures
=== PAUSE TestAccLambdaFunction_architectures
=== RUN TestAccLambdaFunction_architecturesUpdate
=== PAUSE TestAccLambdaFunction_architecturesUpdate
=== RUN TestAccLambdaFunction_architecturesWithLayer
=== PAUSE TestAccLambdaFunction_architecturesWithLayer
=== RUN TestAccLambdaFunction_ephemeralStorage
=== PAUSE TestAccLambdaFunction_ephemeralStorage
=== RUN TestAccLambdaFunction_tracing
=== PAUSE TestAccLambdaFunction_tracing
=== RUN TestAccLambdaFunction_KMSKeyARN_noEnvironmentVariables
=== PAUSE TestAccLambdaFunction_KMSKeyARN_noEnvironmentVariables
=== RUN TestAccLambdaFunction_layers
=== PAUSE TestAccLambdaFunction_layers
=== RUN TestAccLambdaFunction_layersUpdate
=== PAUSE TestAccLambdaFunction_layersUpdate
=== RUN TestAccLambdaFunction_vpc
=== PAUSE TestAccLambdaFunction_vpc
=== RUN TestAccLambdaFunction_vpcRemoval
=== PAUSE TestAccLambdaFunction_vpcRemoval
=== RUN TestAccLambdaFunction_vpcUpdate
=== PAUSE TestAccLambdaFunction_vpcUpdate
=== RUN TestAccLambdaFunction_VPC_withInvocation
=== PAUSE TestAccLambdaFunction_VPC_withInvocation
=== RUN TestAccLambdaFunction_VPCPublishNo_changes
=== PAUSE TestAccLambdaFunction_VPCPublishNo_changes
=== RUN TestAccLambdaFunction_VPCPublishHas_changes
=== PAUSE TestAccLambdaFunction_VPCPublishHas_changes
=== RUN TestAccLambdaFunction_VPC_properIAMDependencies
=== PAUSE TestAccLambdaFunction_VPC_properIAMDependencies
=== RUN TestAccLambdaFunction_emptyVPC
=== PAUSE TestAccLambdaFunction_emptyVPC
=== RUN TestAccLambdaFunction_s3
=== PAUSE TestAccLambdaFunction_s3
=== RUN TestAccLambdaFunction_localUpdate
=== PAUSE TestAccLambdaFunction_localUpdate
=== RUN TestAccLambdaFunction_LocalUpdate_nameOnly
=== PAUSE TestAccLambdaFunction_LocalUpdate_nameOnly
=== RUN TestAccLambdaFunction_S3Update_basic
=== PAUSE TestAccLambdaFunction_S3Update_basic
=== RUN TestAccLambdaFunction_S3Update_unversioned
=== PAUSE TestAccLambdaFunction_S3Update_unversioned
=== RUN TestAccLambdaFunction_tags
=== PAUSE TestAccLambdaFunction_tags
=== RUN TestAccLambdaFunction_runtimes
=== PAUSE TestAccLambdaFunction_runtimes
=== RUN TestAccLambdaFunction_Zip_validation
=== PAUSE TestAccLambdaFunction_Zip_validation
=== CONT TestAccLambdaFunctionDataSource_basic
=== CONT TestAccLambdaFunction_versioned
=== CONT TestAccLambdaFunction_vpc
--- PASS: TestAccLambdaFunction_versioned (50.22s)
=== CONT TestAccLambdaFunction_s3
--- PASS: TestAccLambdaFunction_s3 (85.64s)
=== CONT TestAccLambdaFunction_Zip_validation
--- PASS: TestAccLambdaFunction_Zip_validation (3.84s)
=== CONT TestAccLambdaFunction_runtimes
--- PASS: TestAccLambdaFunctionDataSource_basic (228.60s)
=== CONT TestAccLambdaFunction_tags
--- PASS: TestAccLambdaFunction_tags (121.47s)
=== CONT TestAccLambdaFunction_S3Update_unversioned
--- PASS: TestAccLambdaFunction_S3Update_unversioned (55.71s)
=== CONT TestAccLambdaFunction_S3Update_basic
--- PASS: TestAccLambdaFunction_vpc (423.75s)
=== CONT TestAccLambdaFunction_LocalUpdate_nameOnly
--- PASS: TestAccLambdaFunction_S3Update_basic (62.71s)
=== CONT TestAccLambdaFunction_localUpdate
--- PASS: TestAccLambdaFunction_LocalUpdate_nameOnly (59.38s)
=== CONT TestAccLambdaFunction_deadLetterUpdated
--- PASS: TestAccLambdaFunction_localUpdate (49.42s)
=== CONT TestAccLambdaFunction_image
function_test.go:958: AWS_LAMBDA_IMAGE_LATEST_ID, AWS_LAMBDA_IMAGE_V1_ID and AWS_LAMBDA_IMAGE_V2_ID env vars must be set for Lambda Container Image Support acceptance tests.
--- SKIP: TestAccLambdaFunction_image (0.00s)
=== CONT TestAccLambdaFunction_fileSystem
--- PASS: TestAccLambdaFunction_deadLetterUpdated (53.25s)
=== CONT TestAccLambdaFunction_nilDeadLetter
--- PASS: TestAccLambdaFunction_nilDeadLetter (12.77s)
=== CONT TestAccLambdaFunction_disablePublish
--- PASS: TestAccLambdaFunction_disablePublish (58.52s)
=== CONT TestAccLambdaFunction_deadLetter
--- PASS: TestAccLambdaFunction_runtimes (482.52s)
=== CONT TestAccLambdaFunction_architectures
--- PASS: TestAccLambdaFunction_deadLetter (60.49s)
=== CONT TestAccLambdaFunction_layersUpdate
--- PASS: TestAccLambdaFunction_architectures (239.65s)
=== CONT TestAccLambdaFunction_layers
--- PASS: TestAccLambdaFunction_layers (53.67s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_FunctionName_arn
=== CONT TestAccLambdaFunction_KMSKeyARN_noEnvironmentVariables
--- PASS: TestAccLambdaFunction_layersUpdate (276.40s)
--- PASS: TestAccLambdaFunctionEventInvokeConfig_FunctionName_arn (35.25s)
=== CONT TestAccLambdaFunction_encryptedEnvVariables
--- PASS: TestAccLambdaFunction_KMSKeyARN_noEnvironmentVariables (33.27s)
=== CONT TestAccLambdaFunction_EnvironmentVariables_noValue
--- PASS: TestAccLambdaFunction_EnvironmentVariables_noValue (35.23s)
=== CONT TestAccLambdaFunction_envVariables
--- PASS: TestAccLambdaFunction_encryptedEnvVariables (143.29s)
=== CONT TestAccLambdaFunction_tracing
--- PASS: TestAccLambdaFunction_envVariables (129.85s)
=== CONT TestAccLambdaFunction_expectFilenameAndS3Attributes
--- PASS: TestAccLambdaFunction_tracing (55.20s)
=== CONT TestAccLambdaFunction_ephemeralStorage
--- PASS: TestAccLambdaFunction_expectFilenameAndS3Attributes (12.11s)
=== CONT TestAccLambdaFunction_concurrencyCycle
--- PASS: TestAccLambdaFunction_ephemeralStorage (75.60s)
=== CONT TestAccLambdaFunction_architecturesWithLayer
--- PASS: TestAccLambdaFunction_concurrencyCycle (73.38s)
=== CONT TestAccLambdaFunction_concurrency
--- PASS: TestAccLambdaFunction_fileSystem (711.55s)
=== CONT TestAccLambdaFunction_architecturesUpdate
--- PASS: TestAccLambdaFunction_architecturesUpdate (65.33s)
=== CONT TestAccLambdaFunction_codeSigning
--- PASS: TestAccLambdaFunction_concurrency (74.02s)
=== CONT TestAccLambdaFunction_disappears
--- PASS: TestAccLambdaFunction_architecturesWithLayer (89.26s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Qualifier_functionVersion
--- PASS: TestAccLambdaFunction_disappears (33.78s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Qualifier_aliasName
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Qualifier_functionVersion (35.69s)
=== CONT TestAccLambdaFunction_unpublishedCodeUpdate
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Qualifier_aliasName (35.99s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_maximumRetryAttempts
--- PASS: TestAccLambdaFunction_codeSigning (87.47s)
=== CONT TestAccLambdaFunction_basic
--- PASS: TestAccLambdaFunction_basic (36.79s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_maximumEventAgeInSeconds
--- PASS: TestAccLambdaFunction_unpublishedCodeUpdate (80.14s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_QualifierFunctionName_arn
--- PASS: TestAccLambdaFunctionEventInvokeConfig_maximumRetryAttempts (93.30s)
=== CONT TestAccLambdaFunction_VPC_properIAMDependencies
--- PASS: TestAccLambdaFunctionEventInvokeConfig_QualifierFunctionName_arn (40.25s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Qualifier_latest
--- PASS: TestAccLambdaFunctionEventInvokeConfig_maximumEventAgeInSeconds (55.07s)
=== CONT TestAccLambdaFunction_VPCPublishNo_changes
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Qualifier_latest (229.33s)
=== CONT TestAccLambdaFunction_vpcRemoval
--- PASS: TestAccLambdaFunction_VPC_properIAMDependencies (245.19s)
=== CONT TestAccLambdaFunction_VPCPublishHas_changes
--- PASS: TestAccLambdaFunction_vpcRemoval (407.99s)
=== CONT TestAccLambdaFunction_emptyVPC
--- PASS: TestAccLambdaFunction_VPCPublishNo_changes (650.42s)
=== CONT TestAccLambdaFunctionDataSource_architectures
--- PASS: TestAccLambdaFunction_emptyVPC (142.13s)
=== CONT TestAccLambdaFunction_VPC_withInvocation
--- PASS: TestAccLambdaFunctionDataSource_architectures (129.30s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Destination_remove
--- PASS: TestAccLambdaFunction_VPCPublishHas_changes (609.82s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_DestinationOnSuccess_destination
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Destination_remove (238.22s)
=== CONT TestAccLambdaFunctionDataSource_vpc
--- PASS: TestAccLambdaFunctionEventInvokeConfig_DestinationOnSuccess_destination (184.20s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_DestinationOnFailure_destination
--- PASS: TestAccLambdaFunctionEventInvokeConfig_DestinationOnFailure_destination (268.36s)
=== CONT TestAccLambdaFunctionDataSource_image
function_data_source_test.go:627: AWS_LAMBDA_IMAGE_LATEST_ID env var must be set for Lambda Function Data Source Image Support acceptance tests.
--- SKIP: TestAccLambdaFunctionDataSource_image (0.00s)
=== CONT TestAccLambdaFunctionDataSource_fileSystem
--- PASS: TestAccLambdaFunctionDataSource_fileSystem (345.66s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_basic
--- PASS: TestAccLambdaFunctionEventInvokeConfig_basic (39.05s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Destination_swap
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Destination_swap (64.15s)
=== CONT TestAccLambdaFunctionDataSource_environment
--- PASS: TestAccLambdaFunctionDataSource_environment (40.30s)
=== CONT TestAccLambdaFunctionDataSource_alias
--- PASS: TestAccLambdaFunctionDataSource_alias (33.67s)
=== CONT TestAccLambdaFunctionDataSource_layers
--- PASS: TestAccLambdaFunctionDataSource_layers (35.93s)
=== CONT TestAccLambdaFunction_enablePublish
--- PASS: TestAccLambdaFunction_enablePublish (77.80s)
=== CONT TestAccLambdaFunctionDataSource_version
--- PASS: TestAccLambdaFunctionDataSource_version (33.05s)
=== CONT TestAccLambdaFunctionDataSource_ephemeralStorage
--- PASS: TestAccLambdaFunctionDataSource_ephemeralStorage (48.91s)
=== CONT TestAccLambdaFunction_vpcUpdate
--- PASS: TestAccLambdaFunction_VPC_withInvocation (1499.35s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunctionEventInvoke
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunctionEventInvoke (64.37s)
=== CONT TestAccLambdaFunction_versionedUpdate
--- PASS: TestAccLambdaFunction_versionedUpdate (73.32s)
=== CONT TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunction
--- PASS: TestAccLambdaFunctionEventInvokeConfig_Disappears_lambdaFunction (32.29s)
--- PASS: TestAccLambdaFunctionDataSource_vpc (1482.66s)
--- PASS: TestAccLambdaFunction_vpcUpdate (1721.95s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/lambda 5217.186s
GovCloud
% make testacc TESTARGS='-run=TestAccLambdaFunction_ephemeralStorage' PKG=lambda
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/lambda/... -v -count 1 -parallel 20 -run=TestAccLambdaFunction_ephemeralStorage -timeout 180m
=== RUN TestAccLambdaFunction_ephemeralStorage
=== PAUSE TestAccLambdaFunction_ephemeralStorage
=== CONT TestAccLambdaFunction_ephemeralStorage
acctest.go:1046: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
Error: error creating Lambda Function (1): InvalidParameterValueException: Ephemeral storage configuration ('ephemeralStorage') is currently not supported. Please remove the ephemeral storage parameter from your request and try again.
{
RespMetadata: {
StatusCode: 400,
RequestID: "2ece64d0-3cd5-49b5-bf54-ec6cf4394581"
},
Message_: "Ephemeral storage configuration ('ephemeralStorage') is currently not supported. Please remove the ephemeral storage parameter from your request and try again.",
Type: "User"
}
with aws_lambda_function.test,
on terraform_plugin_test.tf line 134, in resource "aws_lambda_function" "test":
134: resource "aws_lambda_function" "test" {
--- SKIP: TestAccLambdaFunction_ephemeralStorage (16.81s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/lambda 26.356s
After 5370bd5: % make testacc TESTARGS='-run=TestAccLambdaFunction_ephemeralStorage' PKG=lambda ACCTEST_PARALLELISM=3
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/lambda/... -v -count 1 -parallel 3 -run=TestAccLambdaFunction_ephemeralStorage -timeout 180m
=== RUN TestAccLambdaFunction_ephemeralStorage
=== PAUSE TestAccLambdaFunction_ephemeralStorage
=== CONT TestAccLambdaFunction_ephemeralStorage
--- PASS: TestAccLambdaFunction_ephemeralStorage (64.36s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/lambda 68.652s |
Not sure what the % semgrep --config .semgrep.yml
Scanning 2265 files with 30 go rules.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|2265/2265 tasks
Some files were skipped.
Scan was limited to files tracked by git.
Scan skipped: 3075 files matching .semgrepignore patterns
For a full list of skipped files, run semgrep with the --verbose flag.
Ran 31 rules on 2265 files: 0 findings. |
@vara-bonthu Thanks for the contribution 🎉 👏. |
This functionality has been released in v4.8.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you! |
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Lambda Support for Ephemeral Storage up to 10GB
For more details see this link
Community Note
Closes #23860.
Output from acceptance testing: