Commit Graph

22 Commits

Author SHA1 Message Date
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