from a10sdk.common.A10BaseClass import A10BaseClass


class ExtcommunityLStdCfg(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param exact_match: {"default": 0, "type": "number", "description": "Do exact matching of ecommunities", "format": "flag"}
    :param l_std: {"description": "Community-list number (standard)", "format": "number", "not-list": ["l-ext", "name"], "maximum": 99, "minimum": 1, "type": "number"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "extcommunity-l-std-cfg"
        self.DeviceProxy = ""
        self.exact_match = ""
        self.l_std = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class ExtcommunityLName(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param exact_match: {"default": 0, "type": "number", "description": "Do exact matching of ecommunities", "format": "flag"}
    :param name: {"description": "Community-list name", "format": "string", "minLength": 1, "not-list": ["l-std", "l-ext"], "maxLength": 128, "type": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "extcommunity-l-name"
        self.DeviceProxy = ""
        self.exact_match = ""
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class ExtcommunityLExtCfg(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param exact_match: {"default": 0, "type": "number", "description": "Do exact matching of ecommunities", "format": "flag"}
    :param l_ext: {"description": "Community-list number (expanded)", "format": "number", "not-list": ["l-std", "name"], "maximum": 199, "minimum": 100, "type": "number"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "extcommunity-l-ext-cfg"
        self.DeviceProxy = ""
        self.exact_match = ""
        self.l_ext = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Extcommunity(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "extcommunity"
        self.DeviceProxy = ""
        self.extcommunity_l_std_cfg = {}
        self.extcommunity_l_name = {}
        self.extcommunity_l_ext_cfg = {}

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Origin(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param egp: {"default": 0, "not-list": ["igp", "incomplete"], "type": "number", "description": "remote EGP", "format": "flag"}
    :param incomplete: {"default": 0, "not-list": ["egp", "igp"], "type": "number", "description": "unknown heritage", "format": "flag"}
    :param igp: {"default": 0, "not-list": ["egp", "incomplete"], "type": "number", "description": "local IGP", "format": "flag"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "origin"
        self.DeviceProxy = ""
        self.egp = ""
        self.incomplete = ""
        self.igp = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Group(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param group_id: {"description": "HA or VRRP-A group id", "minimum": 0, "type": "number", "maximum": 31, "format": "number"}
    :param ha_state: {"enum": ["active", "standby"], "type": "string", "description": "'active': HA or VRRP-A in Active State; 'standby': HA or VRRP-A in Standby State; ", "format": "enum"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "group"
        self.DeviceProxy = ""
        self.group_id = ""
        self.ha_state = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Peer(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param acl1: {"description": "IP access-list number", "format": "number", "not-list": ["acl2", "name"], "maximum": 199, "minimum": 1, "type": "number"}
    :param acl2: {"description": "IP access-list number (expanded range)", "format": "number", "not-list": ["acl1", "name"], "maximum": 2699, "minimum": 1300, "type": "number"}
    :param name: {"description": "IP access-list name", "format": "string", "minLength": 1, "not-list": ["acl1", "acl2"], "maxLength": 128, "type": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "peer"
        self.DeviceProxy = ""
        self.acl1 = ""
        self.acl2 = ""
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class PrefixList1(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param name: {"minLength": 1, "maxLength": 128, "type": "string", "description": "IP prefix-list name", "format": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "prefix-list-1"
        self.DeviceProxy = ""
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class NextHop(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param acl1: {"description": "IP access-list number", "format": "number", "not-list": ["acl2", "name"], "maximum": 199, "minimum": 1, "type": "number"}
    :param acl2: {"description": "IP access-list number (expanded range)", "format": "number", "not-list": ["acl1", "name"], "maximum": 2699, "minimum": 1300, "type": "number"}
    :param name: {"description": "IP access-list name", "format": "string", "minLength": 1, "not-list": ["acl1", "acl2"], "maxLength": 128, "type": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "next-hop"
        self.DeviceProxy = ""
        self.acl1 = ""
        self.acl2 = ""
        self.name = ""
        self.prefix_list_1 = {}

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class PrefixList(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param name: {"minLength": 1, "maxLength": 128, "type": "string", "description": "IP prefix-list name", "format": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "prefix-list"
        self.DeviceProxy = ""
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Address(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param acl1: {"description": "IP access-list number", "format": "number", "not-list": ["acl2", "name"], "maximum": 199, "minimum": 1, "type": "number"}
    :param acl2: {"description": "IP access-list number (expanded range)", "format": "number", "not-list": ["acl1", "name"], "maximum": 2699, "minimum": 1300, "type": "number"}
    :param name: {"description": "IP access-list name", "format": "string", "minLength": 1, "not-list": ["acl1", "acl2"], "maxLength": 128, "type": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "address"
        self.DeviceProxy = ""
        self.acl1 = ""
        self.acl2 = ""
        self.prefix_list = {}
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Ip(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "ip"
        self.DeviceProxy = ""
        self.peer = {}
        self.next_hop = {}
        self.address = {}

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Metric(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param value: {"description": "Metric value", "minimum": 0, "type": "number", "maximum": 4294967295, "format": "number"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "metric"
        self.DeviceProxy = ""
        self.value = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class NextHop1(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param prefix_list_name: {"minLength": 1, "maxLength": 128, "type": "string", "description": "IPv6 prefix-list name", "format": "string"}
    :param v6_addr: {"not": "next-hop-acl-name", "type": "string", "description": "IPv6 address of next hop", "format": "ipv6-address"}
    :param next_hop_acl_name: {"description": "IPv6 access-list name", "format": "string", "minLength": 1, "maxLength": 128, "not": "v6-addr", "type": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "next-hop-1"
        self.DeviceProxy = ""
        self.prefix_list_name = ""
        self.v6_addr = ""
        self.next_hop_acl_name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Peer1(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param acl1: {"description": "IPv6 access-list number", "format": "number", "not-list": ["acl2", "name"], "maximum": 199, "minimum": 1, "type": "number"}
    :param acl2: {"description": "IP access-list number (expanded range)", "format": "number", "not-list": ["acl1", "name"], "maximum": 2699, "minimum": 1300, "type": "number"}
    :param name: {"description": "IP access-list name", "format": "string", "minLength": 1, "not-list": ["acl1", "acl2"], "maxLength": 128, "type": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "peer-1"
        self.DeviceProxy = ""
        self.acl1 = ""
        self.acl2 = ""
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class PrefixList2(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param name: {"minLength": 1, "maxLength": 128, "type": "string", "description": "IPv6 prefix-list name", "format": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "prefix-list-2"
        self.DeviceProxy = ""
        self.name = ""

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Address1(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param name: {"minLength": 1, "maxLength": 128, "type": "string", "description": "IPv6 access-list name", "format": "string"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "address-1"
        self.DeviceProxy = ""
        self.name = ""
        self.prefix_list_2 = {}

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class Ipv6(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "ipv6"
        self.DeviceProxy = ""
        self.next_hop_1 = {}
        self.peer_1 = {}
        self.address_1 = {}

        for keys, value in kwargs.items():
            setattr(self,keys, value)


class LStdCfg(A10BaseClass):
    
    """This class does not support CRUD Operations please use parent.

    :param exact_match: {"default": 0, "type": "number", "description": "Do exact matching of ecommunities", "format": "flag"}
    :param l_std: {"description": "Community-list number (standard)", "format": "number", "not-list": ["l-ext", "name"], "maximum": 99, "minimum": 1, "type": "number"}
    :param DeviceProxy: The device proxy for REST operations and session handling. Refer to `common/device_proxy.py`

    

    
    """
    def __init__(self, **kwargs):
        self.ERROR_MSG = ""
        
        self.b_key = "l-std-cfg"
        self.DeviceProxy = ""
        self.exact_match = ""
        self.l_std = ""