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

    :param profile_code: optional - if not provided, we assume the data is in
     Advanced format
     A bill import profile code.
     Maps given data to Advanced format using the mappings defined by this
     profile
    :type profile_code: str
    :param file_name: FileName for the import file. Should include extension.
     Example: fileABC.csv
     Data contains the contents. The importer will save the under this file
     name.
     The extension allows the importer to read the data in the proper format
     (csv,xlsx,zip) <span class='property-internal'>Required</span>
    :type file_name: str
    :param batch_settings: If not using Workflow - Batch mode, this property
     is ignored
     Use this property to set batch mode and if creating new batch set
     batchCode
    :type batch_settings: ~energycap.sdk.models.BatchSettings
    :param data: The base64 encoded file. <span
     class='property-internal'>Required</span>
    :type data: str
    :param import_note: Optional note/comment.
    :type import_note: str
    :param save_as_resolved: Optional  property to indicate if failed audits
     automatically get marked as resolved
    :type save_as_resolved: bool
    :param comment: Optional comment to explain why the audit is being auto
     resolved
    :type comment: str
    """

    _validation = {
        'file_name': {'required': True},
        'data': {'required': True},
    }

    _attribute_map = {
        'profile_code': {'key': 'profileCode', 'type': 'str'},
        'file_name': {'key': 'fileName', 'type': 'str'},
        'batch_settings': {'key': 'batchSettings', 'type': 'BatchSettings'},
        'data': {'key': 'data', 'type': 'str'},
        'import_note': {'key': 'importNote', 'type': 'str'},
        'save_as_resolved': {'key': 'saveAsResolved', 'type': 'bool'},
        'comment': {'key': 'comment', 'type': 'str'},
    }

    def __init__(self, file_name, data, profile_code=None, batch_settings=None, import_note=None, save_as_resolved=None, comment=None):
        super(BillImportRequest, self).__init__()
        self.profile_code = profile_code
        self.file_name = file_name
        self.batch_settings = batch_settings
        self.data = data
        self.import_note = import_note
        self.save_as_resolved = save_as_resolved
        self.comment = comment
