Source code for pyatlan.model.assets.core.m_c_incident

# SPDX-License-Identifier: Apache-2.0
# Copyright 2025 Atlan Pte. Ltd.


from __future__ import annotations

from typing import ClassVar, List, Optional, Set

from pydantic.v1 import Field, validator

from pyatlan.model.fields.atlan_fields import KeywordField, RelationField

from .monte_carlo import MonteCarlo


[docs] class MCIncident(MonteCarlo): """Description""" type_name: str = Field(default="MCIncident", allow_mutation=False) @validator("type_name") def validate_type_name(cls, v): if v != "MCIncident": raise ValueError("must be MCIncident") return v def __setattr__(self, name, value): if name in MCIncident._convenience_properties: return object.__setattr__(self, name, value) super().__setattr__(name, value) MC_INCIDENT_ID: ClassVar[KeywordField] = KeywordField( "mcIncidentId", "mcIncidentId" ) """ Identifier of this incident, from Monte Carlo. """ MC_INCIDENT_TYPE: ClassVar[KeywordField] = KeywordField( "mcIncidentType", "mcIncidentType" ) """ Type of this incident. """ MC_INCIDENT_SUB_TYPES: ClassVar[KeywordField] = KeywordField( "mcIncidentSubTypes", "mcIncidentSubTypes" ) """ Subtypes of this incident. """ MC_INCIDENT_SEVERITY: ClassVar[KeywordField] = KeywordField( "mcIncidentSeverity", "mcIncidentSeverity" ) """ Severity of this incident. """ MC_INCIDENT_PRIORITY: ClassVar[KeywordField] = KeywordField( "mcIncidentPriority", "mcIncidentPriority" ) """ Priority of this incident inherited from monitor. """ MC_INCIDENT_STATE: ClassVar[KeywordField] = KeywordField( "mcIncidentState", "mcIncidentState" ) """ State of this incident. """ MC_INCIDENT_WAREHOUSE: ClassVar[KeywordField] = KeywordField( "mcIncidentWarehouse", "mcIncidentWarehouse" ) """ Name of this incident's warehouse. """ MC_MONITOR: ClassVar[RelationField] = RelationField("mcMonitor") """ TBC """ MC_INCIDENT_ASSETS: ClassVar[RelationField] = RelationField("mcIncidentAssets") """ TBC """ _convenience_properties: ClassVar[List[str]] = [ "mc_incident_id", "mc_incident_type", "mc_incident_sub_types", "mc_incident_severity", "mc_incident_priority", "mc_incident_state", "mc_incident_warehouse", "mc_monitor", "mc_incident_assets", ] @property def mc_incident_id(self) -> Optional[str]: return None if self.attributes is None else self.attributes.mc_incident_id @mc_incident_id.setter def mc_incident_id(self, mc_incident_id: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_id = mc_incident_id @property def mc_incident_type(self) -> Optional[str]: return None if self.attributes is None else self.attributes.mc_incident_type @mc_incident_type.setter def mc_incident_type(self, mc_incident_type: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_type = mc_incident_type @property def mc_incident_sub_types(self) -> Optional[Set[str]]: return ( None if self.attributes is None else self.attributes.mc_incident_sub_types ) @mc_incident_sub_types.setter def mc_incident_sub_types(self, mc_incident_sub_types: Optional[Set[str]]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_sub_types = mc_incident_sub_types @property def mc_incident_severity(self) -> Optional[str]: return None if self.attributes is None else self.attributes.mc_incident_severity @mc_incident_severity.setter def mc_incident_severity(self, mc_incident_severity: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_severity = mc_incident_severity @property def mc_incident_priority(self) -> Optional[str]: return None if self.attributes is None else self.attributes.mc_incident_priority @mc_incident_priority.setter def mc_incident_priority(self, mc_incident_priority: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_priority = mc_incident_priority @property def mc_incident_state(self) -> Optional[str]: return None if self.attributes is None else self.attributes.mc_incident_state @mc_incident_state.setter def mc_incident_state(self, mc_incident_state: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_state = mc_incident_state @property def mc_incident_warehouse(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.mc_incident_warehouse ) @mc_incident_warehouse.setter def mc_incident_warehouse(self, mc_incident_warehouse: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_warehouse = mc_incident_warehouse @property def mc_monitor(self) -> Optional[MCMonitor]: return None if self.attributes is None else self.attributes.mc_monitor @mc_monitor.setter def mc_monitor(self, mc_monitor: Optional[MCMonitor]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_monitor = mc_monitor @property def mc_incident_assets(self) -> Optional[List[Asset]]: return None if self.attributes is None else self.attributes.mc_incident_assets @mc_incident_assets.setter def mc_incident_assets(self, mc_incident_assets: Optional[List[Asset]]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.mc_incident_assets = mc_incident_assets class Attributes(MonteCarlo.Attributes): mc_incident_id: Optional[str] = Field(default=None, description="") mc_incident_type: Optional[str] = Field(default=None, description="") mc_incident_sub_types: Optional[Set[str]] = Field(default=None, description="") mc_incident_severity: Optional[str] = Field(default=None, description="") mc_incident_priority: Optional[str] = Field(default=None, description="") mc_incident_state: Optional[str] = Field(default=None, description="") mc_incident_warehouse: Optional[str] = Field(default=None, description="") mc_monitor: Optional[MCMonitor] = Field( default=None, description="" ) # relationship mc_incident_assets: Optional[List[Asset]] = Field( default=None, description="" ) # relationship attributes: MCIncident.Attributes = Field( default_factory=lambda: MCIncident.Attributes(), description=( "Map of attributes in the instance and their values. " "The specific keys of this map will vary by type, " "so are described in the sub-types of this schema." ), )
from .asset import Asset # noqa: E402, F401 from .m_c_monitor import MCMonitor # noqa: E402, F401