<s> '''<STR_LIT>''' <EOL> from __future__ import absolute_import <EOL> import salt . exceptions <EOL> def __virtual__ ( ) : <EOL> '''<STR_LIT>''' <EOL> if salt . utils . which ( '<STR_LIT>' ) : <EOL> return True <EOL> return False <EOL> def present ( name , password , permission ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True , <EOL> '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> users = __salt__ [ '<STR_LIT>' ] ( ) <EOL> if __opts__ [ '<STR_LIT:test>' ] : <EOL> if name in users : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] = { name : '<STR_LIT>' } <EOL> return ret <EOL> if name in users : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> else : <EOL> if __salt__ [ '<STR_LIT>' ] ( name , password , permission , users ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] = { name : '<STR_LIT>' } <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> return ret <EOL> def absent ( name ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True , <EOL> '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> users = __salt__ [ '<STR_LIT>' ] ( ) <EOL> if __opts__ [ '<STR_LIT:test>' ] : <EOL> if name in users : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] = { name : '<STR_LIT>' } <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> return ret <EOL> if name in users : <EOL> if __salt__ [ '<STR_LIT>' ] ( name , users [ name ] [ '<STR_LIT:index>' ] ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] = { name : '<STR_LIT>' } <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> return ret <EOL> def network ( ip , netmask , gateway ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT:name>' : ip , <EOL> '<STR_LIT:result>' : True , <EOL> '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> current_network = __salt__ [ '<STR_LIT>' ] ( ) <EOL> new_network = { } <EOL> if ip != current_network [ '<STR_LIT>' ] [ '<STR_LIT>' ] : <EOL> ret [ '<STR_LIT>' ] . update ( { '<STR_LIT>' : <EOL> { '<STR_LIT>' : current_network [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : ip } } ) <EOL> if netmask != current_network [ '<STR_LIT>' ] [ '<STR_LIT>' ] : <EOL> ret [ '<STR_LIT>' ] . update ( { '<STR_LIT>' : <EOL> { '<STR_LIT>' : current_network [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : netmask } } ) <EOL> if gateway != current_network [ '<STR_LIT>' ] [ '<STR_LIT>' ] : <EOL> ret [ '<STR_LIT>' ] . update ( { '<STR_LIT>' : <EOL> { '<STR_LIT>' : current_network [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : gateway } } ) <EOL> if __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> if __salt__ [ '<STR_LIT>' ] ( ip , netmask , gateway ) : <EOL> if not ret [ '<STR_LIT>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> return ret <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> return ret </s>
