# 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 UsageContract(Model):
    """Usage Contract.

    :param period_start: Period start date
    :type period_start: datetime
    :param period_end: Period end date
    :type period_end: datetime
    :param credential_count: Total credentials issued for the given period
    :type credential_count: int
    :param verification_count: Total verifications processed for the given
     period
    :type verification_count: int
    :param invoice_id: The invoice identifier
    :type invoice_id: str
    """

    _attribute_map = {
        'period_start': {'key': 'periodStart', 'type': 'iso-8601'},
        'period_end': {'key': 'periodEnd', 'type': 'iso-8601'},
        'credential_count': {'key': 'credentialCount', 'type': 'int'},
        'verification_count': {'key': 'verificationCount', 'type': 'int'},
        'invoice_id': {'key': 'invoiceId', 'type': 'str'},
    }

    def __init__(self, *, period_start=None, period_end=None, credential_count: int=None, verification_count: int=None, invoice_id: str=None, **kwargs) -> None:
        super(UsageContract, self).__init__(**kwargs)
        self.period_start = period_start
        self.period_end = period_end
        self.credential_count = credential_count
        self.verification_count = verification_count
        self.invoice_id = invoice_id
