Fix: Incorrect AWS Lambda Qualifier Regexp
Type of change: =============== - Bug fix What changed? ... and Why: ========================== The regexp is currently set to: `pattern := `^[a-zA-Z0-9$_]+$` The AWS docs state that qualifer names must conform to the following regexp: `Pattern: (|[a-zA-Z0-9$_-]+)` As you can see, the current regexp in Terraform is missing the `-` at the end. This addresses that. How has it been tested? ======================= Added a few test cases to the existing spec for `AwsLambdaQualifier` validation.
This commit is contained in:
parent
6d026b1893
commit
c5c2d27e25
|
@ -251,7 +251,7 @@ func validateLambdaQualifier(v interface{}, k string) (ws []string, errors []err
|
||||||
"%q cannot be longer than 128 characters: %q", k, value))
|
"%q cannot be longer than 128 characters: %q", k, value))
|
||||||
}
|
}
|
||||||
// http://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html
|
// http://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html
|
||||||
pattern := `^[a-zA-Z0-9$_]+$`
|
pattern := `^[a-zA-Z0-9$_-]+$`
|
||||||
if !regexp.MustCompile(pattern).MatchString(value) {
|
if !regexp.MustCompile(pattern).MatchString(value) {
|
||||||
errors = append(errors, fmt.Errorf(
|
errors = append(errors, fmt.Errorf(
|
||||||
"%q doesn't comply with restrictions (%q): %q",
|
"%q doesn't comply with restrictions (%q): %q",
|
||||||
|
|
|
@ -111,6 +111,8 @@ func TestValidateLambdaQualifier(t *testing.T) {
|
||||||
"prod",
|
"prod",
|
||||||
"PROD",
|
"PROD",
|
||||||
"MyTestEnv",
|
"MyTestEnv",
|
||||||
|
"contains-dashes",
|
||||||
|
"contains_underscores",
|
||||||
"$LATEST",
|
"$LATEST",
|
||||||
}
|
}
|
||||||
for _, v := range validNames {
|
for _, v := range validNames {
|
||||||
|
|
Loading…
Reference in New Issue