def _construct_http_api(self): """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" ) self._add_auth() if self.definition_uri: http_api.BodyS3Location = self._construct_body_s3_dict() 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'", ) if self.tags is not None: http_api.Tags = get_tag_list(self.tags) return http_api
def _construct_http_api(self): """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() if self.definition_uri: http_api.BodyS3Location = self._construct_body_s3_dict() 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'.", ) if self.description: http_api.Description = self.description return http_api