Skip to content

Commit

Permalink
add support for multiple regions
Browse files Browse the repository at this point in the history
  • Loading branch information
ravinaik1312 authored and rnaik-godaddy committed Sep 12, 2020
1 parent 6cfee0c commit ee9fabd
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.next.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
*Functionbeat*
- Add basic ECS categorization and `cloud` fields. {pull}19174[19174]
- Add support for parallelization factor for kinesis. {pull}20727[20727]
- Add support for multiple regions {pull}21064[21064]

*Winlogbeat*

Expand Down
4 changes: 2 additions & 2 deletions x-pack/functionbeat/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
)

var (
functionPattern = "^[A-Za-z][A-Za-z0-9\\-]{0,139}$"
functionPattern = "^[A-Za-z][A-Za-z0-9\\-]{0,29}$"
functionRE = regexp.MustCompile(functionPattern)
configOverrides = common.MustNewConfigFrom(map[string]interface{}{
"path.data": "/tmp",
Expand Down Expand Up @@ -103,7 +103,7 @@ type functionName string
func (f *functionName) Unpack(s string) error {
if !functionRE.MatchString(s) {
return fmt.Errorf(
"invalid name: '%s', name must match [a-zA-Z0-9-] and be at most 140 characters",
"invalid name: '%s', name must match [a-zA-Z0-9-] and be at most 29 characters",
s,
)
}
Expand Down
15 changes: 15 additions & 0 deletions x-pack/functionbeat/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,24 @@ func TestFunctionName(t *testing.T) {
assert.Equal(t, functionName("hello-world"), f)
})

t.Run("valid function name: length of 29 chars", func(t *testing.T) {
f := functionName("")
err := f.Unpack("something-which-is--29-chars")
if !assert.NoError(t, err) {
return
}
assert.Equal(t, functionName("something-which-is--29-chars"), f)
})

t.Run("invalid function name", func(t *testing.T) {
f := functionName("")
err := f.Unpack("hello world")
assert.Error(t, err)
})

t.Run("invalid function name: length", func(t *testing.T) {
f := functionName("")
err := f.Unpack("something-which-is-greater-than-twenty-nine-characters")
assert.Error(t, err)
})
}
2 changes: 1 addition & 1 deletion x-pack/functionbeat/manager/aws/template_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ func (d *defaultTemplateBuilder) roleTemplate(function installer, name string) *
},
},
Path: "/",
RoleName: "functionbeat-lambda-" + name,
RoleName: "functionbeat-lambda-" + name + "-" + cloudformation.Ref("AWS::Region"),
// Allow the lambda to write log to cloudwatch logs.
// doc: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html
Policies: policies,
Expand Down

0 comments on commit ee9fabd

Please sign in to comment.