# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class ProofPredicateInfo(Model):
    """ProofPredicateInfo.

    :param name:
    :type name: str
    :param names:
    :type names: list[str]
    :param restrictions:
    :type restrictions: list[~credentials.models.AttributeFilter]
    :param non_revoked:
    :type non_revoked: ~credentials.models.RevocationInterval
    :param p_type:
    :type p_type: str
    :param p_value:
    :type p_value: int
    """

    _attribute_map = {
        'name': {'key': 'name', 'type': 'str'},
        'names': {'key': 'names', 'type': '[str]'},
        'restrictions': {'key': 'restrictions', 'type': '[AttributeFilter]'},
        'non_revoked': {'key': 'non_revoked', 'type': 'RevocationInterval'},
        'p_type': {'key': 'p_type', 'type': 'str'},
        'p_value': {'key': 'p_value', 'type': 'int'},
    }

    def __init__(self, *, name: str=None, names=None, restrictions=None, non_revoked=None, p_type: str=None, p_value: int=None, **kwargs) -> None:
        super(ProofPredicateInfo, self).__init__(**kwargs)
        self.name = name
        self.names = names
        self.restrictions = restrictions
        self.non_revoked = non_revoked
        self.p_type = p_type
        self.p_value = p_value
