'Class init'

def __init__(self, **kwargs):

    argument_spec = kwargs['argument_spec']
    self.spec = argument_spec
    self.module = AnsibleModule(argument_spec=self.spec, supports_check_mode=True)
    self.state = self.module.params['state']
    self.acl_name = (self.module.params['acl_name'] or None)
    self.acl_num = (self.module.params['acl_num'] or None)
    self.acl_type = None
    self.acl_step = (self.module.params['acl_step'] or None)
    self.acl_description = (self.module.params['acl_description'] or None)
    self.rule_name = (self.module.params['rule_name'] or None)
    self.rule_id = (self.module.params['rule_id'] or None)
    self.rule_action = (self.module.params['rule_action'] or None)
    self.protocol = (self.module.params['protocol'] or None)
    self.protocol_num = None
    self.source_ip = (self.module.params['source_ip'] or None)
    self.src_mask = (self.module.params['src_mask'] or None)
    self.src_wild = None
    self.src_pool_name = (self.module.params['src_pool_name'] or None)
    self.dest_ip = (self.module.params['dest_ip'] or None)
    self.dest_mask = (self.module.params['dest_mask'] or None)
    self.dest_wild = None
    self.dest_pool_name = (self.module.params['dest_pool_name'] or None)
    self.src_port_op = (self.module.params['src_port_op'] or None)
    self.src_port_begin = (self.module.params['src_port_begin'] or None)
    self.src_port_end = (self.module.params['src_port_end'] or None)
    self.src_port_pool_name = (self.module.params['src_port_pool_name'] or None)
    self.dest_port_op = (self.module.params['dest_port_op'] or None)
    self.dest_port_begin = (self.module.params['dest_port_begin'] or None)
    self.dest_port_end = (self.module.params['dest_port_end'] or None)
    self.dest_port_pool_name = (self.module.params['dest_port_pool_name'] or None)
    self.frag_type = (self.module.params['frag_type'] or None)
    self.precedence = (self.module.params['precedence'] or None)
    self.tos = (self.module.params['tos'] or None)
    self.dscp = (self.module.params['dscp'] or None)
    self.icmp_name = (self.module.params['icmp_name'] or None)
    self.icmp_type = (self.module.params['icmp_type'] or None)
    self.icmp_code = (self.module.params['icmp_code'] or None)
    self.ttl_expired = self.module.params['ttl_expired']
    self.vrf_name = (self.module.params['vrf_name'] or None)
    self.syn_flag = (self.module.params['syn_flag'] or None)
    self.tcp_flag_mask = (self.module.params['tcp_flag_mask'] or None)
    self.established = self.module.params['established']
    self.time_range = (self.module.params['time_range'] or None)
    self.rule_description = (self.module.params['rule_description'] or None)
    self.igmp_type = (self.module.params['igmp_type'] or None)
    self.igmp_type_num = None
    self.log_flag = self.module.params['log_flag']
    self.precedence_name = dict()
    self.precedence_name['0'] = 'routine'
    self.precedence_name['1'] = 'priority'
    self.precedence_name['2'] = 'immediate'
    self.precedence_name['3'] = 'flash'
    self.precedence_name['4'] = 'flash-override'
    self.precedence_name['5'] = 'critical'
    self.precedence_name['6'] = 'internet'
    self.precedence_name['7'] = 'network'
    self.cur_acl_cfg = dict()
    self.cur_advance_rule_cfg = dict()
    self.changed = False
    self.updates_cmd = list()
    self.results = dict()
    self.proposed = dict()
    self.existing = dict()
    self.end_state = dict()
