def _construct_body_s3_dict(self):
if isinstance(self.definition_uri, dict):<EOL><INDENT>if not self.definition_uri.get("<STR_LIT>", None) or not self.definition_uri.get("<STR_LIT>", None):<EOL><INDENT>raise InvalidResourceException(self.logical_id,<EOL>"<STR_LIT>")<EOL><DEDENT>s3_pointer = self.definition_uri<EOL><DEDENT>else:<EOL><INDENT>s3_pointer = parse_s3_uri(self.definition_uri)<EOL>if s3_pointer is None:<EOL><INDENT>raise InvalidResourceException(self.logical_id,<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT><DEDENT>body_s3 = {<EOL>'<STR_LIT>': s3_pointer['<STR_LIT>'],<EOL>'<STR_LIT>': s3_pointer['<STR_LIT>']<EOL>}<EOL>if '<STR_LIT>' in s3_pointer:<EOL><INDENT>body_s3['<STR_LIT>'] = s3_pointer['<STR_LIT>']<EOL><DEDENT>return body_s3<EOL>
Constructs the RestApi's `BodyS3Location property`_, from the SAM Api's DefinitionUri property.

        :returns: a BodyS3Location dict, containing the S3 Bucket, Key, and Version of the Swagger definition
        :rtype: dict