# This file was generated by liblab | https://liblab.com/

from __future__ import annotations
from .utils.json_map import JsonMap
from .base import BaseModel
from .gp_contract_salary_scale_enum import GpContractSalaryScaleEnum


@JsonMap({})
class GpEmployeeCompensationUpdateData(BaseModel):
    """GpEmployeeCompensationUpdateData

    :param scale: The scale to which a given salary applies.
    :type scale: GpContractSalaryScaleEnum
    :param salary: Compensation salary.
    :type salary: float
    :param effective_date: Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.
    :type effective_date: str
    """

    def __init__(
        self, scale: GpContractSalaryScaleEnum, salary: float, effective_date: str
    ):
        self.scale = self._enum_matching(
            scale, GpContractSalaryScaleEnum.list(), "scale"
        )
        self.salary = salary
        self.effective_date = effective_date
