Skip to content

Commit 143ae1d

Browse files
authored
Fix ARN HAndling for Subscription Commands (#82)
Closes #81
1 parent 6fffd02 commit 143ae1d

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

newrelic_lambda_cli/subscriptions.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,18 @@
77
DEFAULT_FILTER_PATTERN = '?REPORT ?NR_LAMBDA_MONITORING ?"Task timed out" ?RequestId'
88

99

10+
def get_log_group_name(function_name):
11+
"""Builds a log group name path; handling ARNs if provided"""
12+
if ":" in function_name:
13+
parts = function_name.split(":")
14+
if len(parts) >= 7:
15+
return "/aws/lambda/%s" % parts[6]
16+
return "/aws/lambda/%s" % function_name
17+
18+
1019
def get_subscription_filters(session, function_name):
1120
"""Returns all the log subscription filters for the function"""
12-
log_group_name = "/aws/lambda/%s" % function_name
21+
log_group_name = get_log_group_name(function_name)
1322
try:
1423
res = session.client("logs").describe_subscription_filters(
1524
logGroupName=log_group_name
@@ -35,7 +44,7 @@ def create_subscription_filter(
3544
):
3645
try:
3746
session.client("logs").put_subscription_filter(
38-
logGroupName="/aws/lambda/%s" % function_name,
47+
logGroupName=get_log_group_name(function_name),
3948
filterName="NewRelicLogStreaming",
4049
filterPattern=filter_pattern,
4150
destinationArn=destination_arn,
@@ -52,7 +61,7 @@ def create_subscription_filter(
5261
def remove_subscription_filter(session, function_name):
5362
try:
5463
session.client("logs").delete_subscription_filter(
55-
logGroupName="/aws/lambda/%s" % function_name,
64+
logGroupName=get_log_group_name(function_name),
5665
filterName="NewRelicLogStreaming",
5766
)
5867
except botocore.exceptions.ClientError as e:

0 commit comments

Comments
 (0)