Skip to content

Commit 6188d82

Browse files
authored
Furl AutopublishAlias bug fix (#2378)
* furl autopublishing bug fix * failing test fix
1 parent f7418d8 commit 6188d82

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

samtranslator/model/sam_resources.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ def to_cloudformation(self, **kwargs):
178178
if self.FunctionUrlConfig:
179179
lambda_url = self._construct_function_url(lambda_function, lambda_alias)
180180
resources.append(lambda_url)
181-
url_permission = self._construct_url_permission(lambda_function)
181+
url_permission = self._construct_url_permission(lambda_function, lambda_alias)
182182
if url_permission:
183183
resources.append(url_permission)
184184

@@ -1006,7 +1006,7 @@ def _validate_cors_config_parameter(self, lambda_function):
10061006
"{} must be of type {}.".format(prop_name, str(prop_type).split("'")[1]),
10071007
)
10081008

1009-
def _construct_url_permission(self, lambda_function):
1009+
def _construct_url_permission(self, lambda_function, lambda_alias):
10101010
"""
10111011
Construct the lambda permission associated with the function url resource in a case
10121012
for public access when AuthType is NONE
@@ -1016,6 +1016,9 @@ def _construct_url_permission(self, lambda_function):
10161016
lambda_function : LambdaUrl
10171017
Lambda Function resource
10181018
1019+
llambda_alias : LambdaAlias
1020+
Lambda Alias resource
1021+
10191022
Returns
10201023
-------
10211024
LambdaPermission
@@ -1030,7 +1033,9 @@ def _construct_url_permission(self, lambda_function):
10301033
lambda_permission_attributes = self.get_passthrough_resource_attributes()
10311034
lambda_permission = LambdaPermission(logical_id=logical_id, attributes=lambda_permission_attributes)
10321035
lambda_permission.Action = "lambda:InvokeFunctionUrl"
1033-
lambda_permission.FunctionName = lambda_function.get_runtime_attr("name")
1036+
lambda_permission.FunctionName = (
1037+
lambda_alias.get_runtime_attr("arn") if lambda_alias else lambda_function.get_runtime_attr("name")
1038+
)
10341039
lambda_permission.Principal = "*"
10351040
lambda_permission.FunctionUrlAuthType = auth_type
10361041
return lambda_permission

tests/translator/output/aws-cn/function_with_function_url_config_and_autopublishalias.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
"Properties": {
8686
"Action": "lambda:InvokeFunctionUrl",
8787
"FunctionName": {
88-
"Ref": "MyFunction"
88+
"Ref": "MyFunctionAliaslive"
8989
},
9090
"Principal": "*",
9191
"FunctionUrlAuthType": "NONE"

tests/translator/output/aws-us-gov/function_with_function_url_config_and_autopublishalias.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
"Properties": {
8686
"Action": "lambda:InvokeFunctionUrl",
8787
"FunctionName": {
88-
"Ref": "MyFunction"
88+
"Ref": "MyFunctionAliaslive"
8989
},
9090
"Principal": "*",
9191
"FunctionUrlAuthType": "NONE"

tests/translator/output/function_with_function_url_config_and_autopublishalias.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
"Properties": {
8686
"Action": "lambda:InvokeFunctionUrl",
8787
"FunctionName": {
88-
"Ref": "MyFunction"
88+
"Ref": "MyFunctionAliaslive"
8989
},
9090
"Principal": "*",
9191
"FunctionUrlAuthType": "NONE"

0 commit comments

Comments
 (0)