def _get_name_from_structure(item, default):
if item.get(default):<EOL><INDENT>return item.get(default)<EOL><DEDENT>if item.get('<STR_LIT>'):<EOL><INDENT>arn = item.get('<STR_LIT>')<EOL>item_arn = ARN(arn)<EOL>if item_arn.error:<EOL><INDENT>raise CloudAuxException('<STR_LIT>'.format(arn=arn))<EOL><DEDENT>return item_arn.parsed_name<EOL><DEDENT>raise MissingFieldException('<STR_LIT>'.format(input=item))<EOL>
Given a possibly sparsely populated item dictionary, try to retrieve the item name.
First try the default field.  If that doesn't exist, try to parse the from the ARN.
:param item: dict containing (at the very least) item_name and/or arn
:return: item name