Source code for sapimclient.model.rule_element_owner

"""Pydantic models for Rule Element Owner Resources."""

from datetime import datetime
from typing import ClassVar

from pydantic import Field

from .base import (
    Assignment,
    Generic16Mixin,
    Reference,
    Resource,
)


[docs] class _RuleElementOwner(Resource): """Base class for Rule Element Owner resources. TODO: ``variable_assignments`` should be ``Reference``? TODO: ``business_units`` should be ``Reference``? """ attr_seq: ClassVar[str] = 'rule_element_owner_seq' rule_element_owner_seq: str | None = None name: str description: str | None = None effective_start_date: datetime effective_end_date: datetime create_date: datetime | None = Field(None, exclude=True, repr=False) created_by: str | None = Field(None, exclude=True, repr=False) modified_by: str | None = Field(None, exclude=True, repr=False) business_units: list[str] | None = None variable_assignments: list[Assignment] | Assignment | None = None model_seq: str | None = None
[docs] class Plan(_RuleElementOwner): """Plan. Parameters: rule_element_owner_seq (str | None): System Unique Identifier. name (str): Name of the plan. description (str | None): Description of the plan. calendar (str | Reference): Reference to ``Calendar`` associated with the plan. effective_start_date (datetime): Effective start date of the plan version. effective_end_date (datetime): Effective end date of the plan version. create_date (datetime | None): Date when plan was created. created_by (str | None): User ID that created the plan. modified_by (str | None): User ID that last modified the plan. business_units (list[str] | None): Business units associated with the plan. variable_assignments (list[Assignment] | Assignment | None): Variable Assignments on the plan level. model_seq (str | None): System Unique Identifier for the model. TODO: Add GenericMixin? TODO: is ``variable_assignments`` expandable? """ attr_endpoint: ClassVar[str] = 'api/v2/plans' calendar: str | Reference
[docs] class Position(_RuleElementOwner, Generic16Mixin): """Position. TODO: ``target_compensation`` is ``Value``? TODO: ``processing_unit`` should be ``Reference``? """ attr_endpoint: ClassVar[str] = 'api/v2/positions' payee: str | Reference | None = None plan: str | Reference | None = None title: str | Reference | None = None manager: str | Reference | None = None position_group: str | Reference | None = None target_compensation: dict | None = None credit_start_date: datetime | None = None credit_end_date: datetime | None = None processing_start_date: datetime | None = None processing_end_date: datetime | None = None processing_unit: str | None = None
[docs] class Title(_RuleElementOwner, Generic16Mixin): """Title.""" attr_endpoint: ClassVar[str] = 'api/v2/titles' plan: str | Reference | None = None