in samtranslator/model/api/http_api_generator.py [0:0]
def _construct_http_api(self) -> ApiGatewayV2HttpApi:
"""Constructs and returns the ApiGatewayV2 HttpApi.
:returns: the HttpApi to which this SAM Api corresponds
:rtype: model.apigatewayv2.ApiGatewayHttpApi
"""
http_api = ApiGatewayV2HttpApi(self.logical_id, depends_on=self.depends_on, attributes=self.resource_attributes)
if self.definition_uri and self.definition_body:
raise InvalidResourceException(
self.logical_id, "Specify either 'DefinitionUri' or 'DefinitionBody' property and not both."
)
if self.cors_configuration:
# call this method to add cors in open api
self._add_cors()
self._add_auth()
self._add_tags()
if self.fail_on_warnings:
http_api.FailOnWarnings = self.fail_on_warnings
if self.disable_execute_api_endpoint is not None:
self._add_endpoint_configuration()
self._add_title()
self._add_description()
self._update_default_path()
if self.definition_uri:
http_api.BodyS3Location = self._construct_body_s3_dict(self.definition_uri)
elif self.definition_body:
http_api.Body = self.definition_body
else:
raise InvalidResourceException(
self.logical_id,
"'DefinitionUri' or 'DefinitionBody' are required properties of an "
"'AWS::Serverless::HttpApi'. Add a value for one of these properties or "
"add a 'HttpApi' event to an 'AWS::Serverless::Function'.",
)
return http_api