# 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 DataAccessReleaseRequest(Model):
    """DataAccessReleaseRequest.

    All required parameters must be populated in order to send to Azure.

    :param data_release_file: The response from uploading the file to the file
     store
     API: POST  /api/v202105/fileStore/fileDataType/{fileDataTypeId}/upload
     SDK Operation: UploadFile
    :type data_release_file: str
    :param account_number: Required. Account Number
     Should be a 12 digit number starting with 2. <span
     class='property-internal'>Required</span>
    :type account_number: str
    :param name_on_bill: Required.  <span
     class='property-internal'>Required</span>
    :type name_on_bill: str
    :param service_address: Required.  <span
     class='property-internal'>Required</span>
    :type service_address: str
    """

    _validation = {
        'account_number': {'required': True},
        'name_on_bill': {'required': True},
        'service_address': {'required': True},
    }

    _attribute_map = {
        'data_release_file': {'key': 'dataReleaseFile', 'type': 'str'},
        'account_number': {'key': 'accountNumber', 'type': 'str'},
        'name_on_bill': {'key': 'nameOnBill', 'type': 'str'},
        'service_address': {'key': 'serviceAddress', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(DataAccessReleaseRequest, self).__init__(**kwargs)
        self.data_release_file = kwargs.get('data_release_file', None)
        self.account_number = kwargs.get('account_number', None)
        self.name_on_bill = kwargs.get('name_on_bill', None)
        self.service_address = kwargs.get('service_address', None)
