def METHOD_NAME(self, account_id, resource_id, parent_id):
    """Check if a resource is locked.
    If a resource has an explicit status we use that, else
    we defer to the parent resource lock status.
    """
    resource = self.record(account_id, resource_id)
    if resource is None and not parent_id:
        return {'ResourceId': resource_id,
                'LockStatus': self.STATE_UNLOCKED}
    elif resource is None:
        parent = self.record(account_id, parent_id)
        if parent is None:
            return {'ResourceId': resource_id,
                    'ParentId': parent_id,
                    'LockStatus': self.STATE_UNLOCKED}
        parent['ResourceId'] = resource_id
        parent['ParentId'] = parent_id
        parent['LockType'] = 'parent'
        return parent
    if resource['ResourceId'].startswith('vpc-'):
        return resource
    if resource['ResourceId'].startswith('sg-'):
        return resource