Commit Graph

23 Commits

Author SHA1 Message Date
Srikalyan Swayampakula 2aa28c34ca Not Error out on AWS Lambda VPC config if both subnet_ids and security_group_ids are empty. (#6191)
AWS Lambda VPC config is an optional configuration and which needs to both subnet_ids and
security_group_ids to tie the lambda function to a VPC. We should make it optional if
both subnet_ids and security_group_ids are not net which would add better flexiblity in
creation of more useful modules as there are "if else" checks. Without this we are creating
duplicate modules one with VPC and one without VPC resulting in various anomalies.
2016-08-15 17:52:42 +01:00
Paul Stack 8ed549c3b5 provider/aws: Don't delete Lambda function from state on initial call of (#7829)
the Read func

Fixes #7782

Lambda functions are eventually consistent :( Therefore, when we move
from the Create func to the Read func, there is a chance that the Lambda
hasn't replicated yet and we could therefore find that it doesn't exist
and delete it as follows:

```
params := &lambda.GetFunctionInput{
        FunctionName: aws.String(d.Get("function_name").(string)),

}

    getFunctionOutput, err := conn.GetFunction(params)
    if err != nil {
            if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "ResourceNotFoundException" {
                        d.SetId("")
                                    return nil

            }
                    return err

    }
```

This PR uses `d.IsNewResource()` to check if the Read is being called
after a Create and therefore, won't delete the lambda if not found. This
should allow the lambda to replicate

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLambdaFunction_'
=> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSLambdaFunction_ -timeout 120m
=== RUN   TestAccAWSLambdaFunction_importLocalFile
--- PASS: TestAccAWSLambdaFunction_importLocalFile (36.64s)
=== RUN   TestAccAWSLambdaFunction_importLocalFile_VPC
--- PASS: TestAccAWSLambdaFunction_importLocalFile_VPC (45.17s)
=== RUN   TestAccAWSLambdaFunction_importS3
--- PASS: TestAccAWSLambdaFunction_importS3 (40.88s)
=== RUN   TestAccAWSLambdaFunction_basic
--- PASS: TestAccAWSLambdaFunction_basic (44.77s)
=== RUN   TestAccAWSLambdaFunction_VPC
--- PASS: TestAccAWSLambdaFunction_VPC (44.13s)
=== RUN   TestAccAWSLambdaFunction_s3
--- PASS: TestAccAWSLambdaFunction_s3 (43.62s)
=== RUN   TestAccAWSLambdaFunction_localUpdate
--- PASS: TestAccAWSLambdaFunction_localUpdate (33.49s)
=== RUN   TestAccAWSLambdaFunction_localUpdate_nameOnly
--- PASS: TestAccAWSLambdaFunction_localUpdate_nameOnly (51.83s)
=== RUN   TestAccAWSLambdaFunction_s3Update
--- PASS: TestAccAWSLambdaFunction_s3Update (106.49s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    447.055s
```

Thanks to @radeksimko for pointing out `d.IsNewResource()`
2016-07-27 16:47:25 +01:00
Radek Simko b8d21330a7 provider/aws: Allow importing lambda_function (#7610) 2016-07-16 15:36:28 +01:00
Clint 5e26cb9960 provider/aws: Update Lambda functions on name change (#7081)
Allows the updating of Lambda functions on name change alone
2016-06-09 16:44:10 -05:00
Radek Simko f6a21e7899 provider/aws: Read VPC ID for Lambda function back from API 2016-04-13 15:05:19 +01:00
Maxime Bury ec749d964f Correctly handle missing lambda function 2016-03-16 14:26:14 -04:00
Radek Simko d777141a7b provider/aws: Add tests for Lambda function updates 2016-03-10 12:31:35 +00:00
Radek Simko fdc21aad25 provider/aws: Simplify update logic for Lambda function 2016-03-10 12:31:35 +00:00
Chris Marchesi b5c7521f52 aws_lambda_function: Force code update on SHA sum mismatch 2016-03-10 12:31:35 +00:00
Rob Zienert 4aeb5bb8e9 Adding support for Lambda function updates 2016-03-10 12:31:35 +00:00
Paul Hinze 108ccf0007 builtin: Refactor resource.Retry to clarify return
Change the `RetryFunc` from a plain `error` return type to a
specialized `RetryError` which must decide whether it is
retryable or not.

Add `RetryableError` / `NonRetryableError` factory functions that
callers are meant to use to build up these errors.

This makes it eminently clear whether or not a given error is
retryable from inside the client code.

Goal here is to _not_ change any behavior, simply reflect the
existing behavior with the new, clearer, API.
2016-03-09 17:37:56 -06:00
Maxime Bury 0290884fdc Lambda S3 object version defaults to '$LATEST' if unspecified 2016-02-29 14:31:47 +00:00
Maxime Bury 288ba868e4 Harden things around VPC config 2016-02-18 13:45:32 -08:00
vince rosso 3baabb0186 VPC config support in Lambda functions
fixes #5105
2016-02-16 10:43:51 -08:00
clint shryock 449ffe027f fix error with undefined err 2016-01-05 11:35:21 -06:00
clint shryock 6b733a09eb provider/aws: more retrying with Lambda 2016-01-05 11:22:57 -06:00
clint shryock f0d1193f8f provider/aws: Update Lambda create error handling to be more flexible 2016-01-05 10:17:20 -06:00
Rob Zienert 327bd4f9c0 Adding S3 support for Lambda provider 2015-11-06 15:57:18 -06:00
Clint Shryock 0c2f189d08 provider/aws: Update to aws-sdk 0.9.0 rc1 2015-08-17 13:27:16 -05:00
Clint Shryock 579ccbefea provider/aws: Update source to comply with upstream breaking change 2015-07-28 15:29:46 -05:00
Chris Bednarski 6591603a00 Expand filename if it starts with ~ 2015-06-09 12:27:40 -07:00
Chris Bednarski f01154366a Merge with changes from master 2015-06-09 12:12:47 -07:00
Chris Bednarski 6986121305 AWS Lambda functionality
- Includes documentation
- Includes acceptance tests
2015-06-01 09:33:45 -07:00