provider/aws: No longer ForceNew resource on lambda_function runtime (#12329)
update Fixes: #12181 ``` % make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLambdaFunction_updateRuntime' ==> Checking that code complies with gofmt requirements... go generate $(go list ./... | grep -v /terraform/vendor/) 2017/03/01 11:20:18 Generated command/internal_plugin_list.go TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSLambdaFunction_updateRuntime -timeout 120m === RUN TestAccAWSLambdaFunction_updateRuntime --- PASS: TestAccAWSLambdaFunction_updateRuntime (110.25s) PASS ok github.com/hashicorp/terraform/builtin/providers/aws 110.279s ```
This commit is contained in:
parent
f9aa3d3a0b
commit
3d198295f2
|
@ -95,7 +95,6 @@ func resourceAwsLambdaFunction() *schema.Resource {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Required: true,
|
||||||
ForceNew: true,
|
|
||||||
ValidateFunc: validateRuntime,
|
ValidateFunc: validateRuntime,
|
||||||
},
|
},
|
||||||
"timeout": {
|
"timeout": {
|
||||||
|
@ -531,6 +530,10 @@ func resourceAwsLambdaFunctionUpdate(d *schema.ResourceData, meta interface{}) e
|
||||||
configUpdate = true
|
configUpdate = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if d.HasChange("runtime") {
|
||||||
|
configReq.Runtime = aws.String(d.Get("runtime").(string))
|
||||||
|
configUpdate = true
|
||||||
|
}
|
||||||
if d.HasChange("environment") {
|
if d.HasChange("environment") {
|
||||||
if v, ok := d.GetOk("environment"); ok {
|
if v, ok := d.GetOk("environment"); ok {
|
||||||
environments := v.([]interface{})
|
environments := v.([]interface{})
|
||||||
|
|
|
@ -40,6 +40,35 @@ func TestAccAWSLambdaFunction_basic(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAccAWSLambdaFunction_updateRuntime(t *testing.T) {
|
||||||
|
var conf lambda.GetFunctionOutput
|
||||||
|
|
||||||
|
rSt := acctest.RandString(5)
|
||||||
|
rName := fmt.Sprintf("tf_test_%s", rSt)
|
||||||
|
|
||||||
|
resource.Test(t, resource.TestCase{
|
||||||
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
|
Providers: testAccProviders,
|
||||||
|
CheckDestroy: testAccCheckLambdaFunctionDestroy,
|
||||||
|
Steps: []resource.TestStep{
|
||||||
|
{
|
||||||
|
Config: testAccAWSLambdaConfigBasic(rName, rSt),
|
||||||
|
Check: resource.ComposeTestCheckFunc(
|
||||||
|
testAccCheckAwsLambdaFunctionExists("aws_lambda_function.lambda_function_test", rName, &conf),
|
||||||
|
resource.TestCheckResourceAttr("aws_lambda_function.lambda_function_test", "runtime", "nodejs4.3"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Config: testAccAWSLambdaConfigBasicUpdateRuntime(rName, rSt),
|
||||||
|
Check: resource.ComposeTestCheckFunc(
|
||||||
|
testAccCheckAwsLambdaFunctionExists("aws_lambda_function.lambda_function_test", rName, &conf),
|
||||||
|
resource.TestCheckResourceAttr("aws_lambda_function.lambda_function_test", "runtime", "nodejs4.3-edge"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func TestAccAWSLambdaFunction_expectFilenameAndS3Attributes(t *testing.T) {
|
func TestAccAWSLambdaFunction_expectFilenameAndS3Attributes(t *testing.T) {
|
||||||
rSt := acctest.RandString(5)
|
rSt := acctest.RandString(5)
|
||||||
rName := fmt.Sprintf("tf_test_%s", rSt)
|
rName := fmt.Sprintf("tf_test_%s", rSt)
|
||||||
|
@ -792,6 +821,18 @@ resource "aws_lambda_function" "lambda_function_test" {
|
||||||
`, rName)
|
`, rName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testAccAWSLambdaConfigBasicUpdateRuntime(rName, rSt string) string {
|
||||||
|
return fmt.Sprintf(baseAccAWSLambdaConfig(rSt)+`
|
||||||
|
resource "aws_lambda_function" "lambda_function_test" {
|
||||||
|
filename = "test-fixtures/lambdatest.zip"
|
||||||
|
function_name = "%s"
|
||||||
|
role = "${aws_iam_role.iam_for_lambda.arn}"
|
||||||
|
handler = "exports.example"
|
||||||
|
runtime = "nodejs4.3-edge"
|
||||||
|
}
|
||||||
|
`, rName)
|
||||||
|
}
|
||||||
|
|
||||||
func testAccAWSLambdaConfigWithoutFilenameAndS3Attributes(rName, rSt string) string {
|
func testAccAWSLambdaConfigWithoutFilenameAndS3Attributes(rName, rSt string) string {
|
||||||
return fmt.Sprintf(baseAccAWSLambdaConfig(rSt)+`
|
return fmt.Sprintf(baseAccAWSLambdaConfig(rSt)+`
|
||||||
resource "aws_lambda_function" "lambda_function_test" {
|
resource "aws_lambda_function" "lambda_function_test" {
|
||||||
|
|
Loading…
Reference in New Issue