# 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 ExportWorkflowChild(Model):
    """Represents workflow settings for bill export.

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

    :param export_mode_enabled: Required. Whether or not Export Mode is
     enabled <span class='property-internal'>Required</span>
    :type export_mode_enabled: bool
    :param can_export: Required. The point at which a bill is eligible for
     export <span class='property-internal'>Required</span> <span
     class='property-internal'>One of never, after entry, after batch, after
     approval, after batch approval </span>
    :type can_export: str
    :param include_udfs: Required. Whether or not custom fields should be
     included in export <span class='property-internal'>Required</span>
    :type include_udfs: bool
    """

    _validation = {
        'export_mode_enabled': {'required': True},
        'can_export': {'required': True},
        'include_udfs': {'required': True},
    }

    _attribute_map = {
        'export_mode_enabled': {'key': 'exportModeEnabled', 'type': 'bool'},
        'can_export': {'key': 'canExport', 'type': 'str'},
        'include_udfs': {'key': 'includeUdfs', 'type': 'bool'},
    }

    def __init__(self, *, export_mode_enabled: bool, can_export: str, include_udfs: bool, **kwargs) -> None:
        super(ExportWorkflowChild, self).__init__(**kwargs)
        self.export_mode_enabled = export_mode_enabled
        self.can_export = can_export
        self.include_udfs = include_udfs
