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

    :param fiscal_year_start_month: First month of fiscal year
     Value will be from 1-12
    :type fiscal_year_start_month: int
    :param fiscal_year_defined_at_year: Fiscal year reflects the calendar year
     in which it Begins or Ends
     Value will be one of "beginning", "ending"
    :type fiscal_year_defined_at_year: str
    :param calendarization_method: Calendarization method
     Value will be one of "monthly", "user-defined"
    :type calendarization_method: str
    :param account_periods: List of accounting period names
    :type account_periods: list[~energycap.sdk.models.AccountPeriodResponse]
    """

    _attribute_map = {
        'fiscal_year_start_month': {'key': 'fiscalYearStartMonth', 'type': 'int'},
        'fiscal_year_defined_at_year': {'key': 'fiscalYearDefinedAtYear', 'type': 'str'},
        'calendarization_method': {'key': 'calendarizationMethod', 'type': 'str'},
        'account_periods': {'key': 'accountPeriods', 'type': '[AccountPeriodResponse]'},
    }

    def __init__(self, **kwargs):
        super(AccountingSettingsResponse, self).__init__(**kwargs)
        self.fiscal_year_start_month = kwargs.get('fiscal_year_start_month', None)
        self.fiscal_year_defined_at_year = kwargs.get('fiscal_year_defined_at_year', None)
        self.calendarization_method = kwargs.get('calendarization_method', None)
        self.account_periods = kwargs.get('account_periods', None)
