def watch(connection, volume_id, interval='<STR_LIT>', retention=<NUM_LIT:0>):
try:<EOL><INDENT>volume = connection.get_all_volumes(volume_ids=[volume_id])[<NUM_LIT:0>]<EOL><DEDENT>except EC2ResponseError:<EOL><INDENT>logger.warning('<STR_LIT>'.format(volume_id))<EOL>return False<EOL><DEDENT>if interval not in VALID_INTERVALS:<EOL><INDENT>logger.warning(<EOL>'<STR_LIT>'.format(<EOL>interval, '<STR_LIT:U+002CU+0020>'.join(VALID_INTERVALS)))<EOL><DEDENT>volume.remove_tag('<STR_LIT>')<EOL>volume.add_tag('<STR_LIT>', value=interval)<EOL>volume.remove_tag('<STR_LIT>')<EOL>volume.add_tag('<STR_LIT>', value=int(retention))<EOL>logger.info('<STR_LIT>'.format(<EOL>interval, volume_id))<EOL>return True<EOL>
Start watching a new volume

    :type connection: boto.ec2.connection.EC2Connection
    :param connection: EC2 connection object
    :type volume_id: str
    :param volume_id: VolumeID to add to the watchlist
    :type interval: str
    :param interval: Backup interval [hourly|daily|weekly|monthly|yearly]
    :type retention: int
    :param retention: Number of snapshots to keep. 0 == keep all
    :returns: bool - True if the watch was successful