Lambda: Allow Qualifier on get policy call (#6995)

This commit is contained in:
Matus Faro 2023-11-06 18:54:23 -05:00 committed by GitHub
parent 0a5e2d3e4d
commit e57aa67239
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

View File

@ -2098,8 +2098,8 @@ class LambdaBackend(BaseBackend):
fn = self.get_function(function_name)
return fn.get_code_signing_config()
def get_policy(self, function_name: str) -> str:
fn = self.get_function(function_name)
def get_policy(self, function_name: str, qualifier: Optional[str] = None) -> str:
fn = self._lambdas.get_function_by_name_or_arn(function_name, qualifier)
if not fn:
raise UnknownFunctionException(function_name)
return fn.policy.wire_format() # type: ignore[union-attr]

View File

@ -227,7 +227,8 @@ class LambdaResponse(BaseResponse):
def _get_policy(self, request: Any) -> TYPE_RESPONSE:
path = request.path if hasattr(request, "path") else path_url(request.url)
function_name = unquote(path.split("/")[-2])
out = self.backend.get_policy(function_name)
qualifier = self.querystring.get("Qualifier", [None])[0]
out = self.backend.get_policy(function_name, qualifier)
return 200, {}, out
def _del_policy(self, request: Any, querystring: Dict[str, Any]) -> TYPE_RESPONSE: