Files
windmill/python-client/windmill-api/windmill_api/models/flow_module_suspend.py
T
Ruben Fiszel f782e009cd sqlx
2024-01-16 23:46:46 +01:00

178 lines
6.7 KiB
Python

from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
from typing import List
from attrs import define as _attrs_define
from attrs import field as _attrs_field
from ..types import UNSET, Unset
from typing import Union
from typing import cast
from typing import Dict
from typing import cast, Union
from ..types import UNSET, Unset
if TYPE_CHECKING:
from ..models.flow_module_suspend_user_groups_required_type_0 import FlowModuleSuspendUserGroupsRequiredType0
from ..models.flow_module_suspend_resume_form import FlowModuleSuspendResumeForm
from ..models.flow_module_suspend_user_groups_required_type_1 import FlowModuleSuspendUserGroupsRequiredType1
T = TypeVar("T", bound="FlowModuleSuspend")
@_attrs_define
class FlowModuleSuspend:
"""
Attributes:
required_events (Union[Unset, int]):
timeout (Union[Unset, int]):
resume_form (Union[Unset, FlowModuleSuspendResumeForm]):
user_auth_required (Union[Unset, bool]):
user_groups_required (Union['FlowModuleSuspendUserGroupsRequiredType0',
'FlowModuleSuspendUserGroupsRequiredType1', Unset]):
"""
required_events: Union[Unset, int] = UNSET
timeout: Union[Unset, int] = UNSET
resume_form: Union[Unset, 'FlowModuleSuspendResumeForm'] = UNSET
user_auth_required: Union[Unset, bool] = UNSET
user_groups_required: Union['FlowModuleSuspendUserGroupsRequiredType0', 'FlowModuleSuspendUserGroupsRequiredType1', Unset] = UNSET
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
def to_dict(self) -> Dict[str, Any]:
from ..models.flow_module_suspend_user_groups_required_type_0 import FlowModuleSuspendUserGroupsRequiredType0
from ..models.flow_module_suspend_resume_form import FlowModuleSuspendResumeForm
from ..models.flow_module_suspend_user_groups_required_type_1 import FlowModuleSuspendUserGroupsRequiredType1
required_events = self.required_events
timeout = self.timeout
resume_form: Union[Unset, Dict[str, Any]] = UNSET
if not isinstance(self.resume_form, Unset):
resume_form = self.resume_form.to_dict()
user_auth_required = self.user_auth_required
user_groups_required: Union[Dict[str, Any], Unset]
if isinstance(self.user_groups_required, Unset):
user_groups_required = UNSET
elif isinstance(self.user_groups_required, FlowModuleSuspendUserGroupsRequiredType0):
user_groups_required = UNSET
if not isinstance(self.user_groups_required, Unset):
user_groups_required = self.user_groups_required.to_dict()
else:
user_groups_required = UNSET
if not isinstance(self.user_groups_required, Unset):
user_groups_required = self.user_groups_required.to_dict()
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update({
})
if required_events is not UNSET:
field_dict["required_events"] = required_events
if timeout is not UNSET:
field_dict["timeout"] = timeout
if resume_form is not UNSET:
field_dict["resume_form"] = resume_form
if user_auth_required is not UNSET:
field_dict["user_auth_required"] = user_auth_required
if user_groups_required is not UNSET:
field_dict["user_groups_required"] = user_groups_required
return field_dict
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
from ..models.flow_module_suspend_user_groups_required_type_0 import FlowModuleSuspendUserGroupsRequiredType0
from ..models.flow_module_suspend_resume_form import FlowModuleSuspendResumeForm
from ..models.flow_module_suspend_user_groups_required_type_1 import FlowModuleSuspendUserGroupsRequiredType1
d = src_dict.copy()
required_events = d.pop("required_events", UNSET)
timeout = d.pop("timeout", UNSET)
_resume_form = d.pop("resume_form", UNSET)
resume_form: Union[Unset, FlowModuleSuspendResumeForm]
if isinstance(_resume_form, Unset):
resume_form = UNSET
else:
resume_form = FlowModuleSuspendResumeForm.from_dict(_resume_form)
user_auth_required = d.pop("user_auth_required", UNSET)
def _parse_user_groups_required(data: object) -> Union['FlowModuleSuspendUserGroupsRequiredType0', 'FlowModuleSuspendUserGroupsRequiredType1', Unset]:
if isinstance(data, Unset):
return data
try:
if not isinstance(data, dict):
raise TypeError()
_user_groups_required_type_0 = data
user_groups_required_type_0: Union[Unset, FlowModuleSuspendUserGroupsRequiredType0]
if isinstance(_user_groups_required_type_0, Unset):
user_groups_required_type_0 = UNSET
else:
user_groups_required_type_0 = FlowModuleSuspendUserGroupsRequiredType0.from_dict(_user_groups_required_type_0)
return user_groups_required_type_0
except: # noqa: E722
pass
if not isinstance(data, dict):
raise TypeError()
_user_groups_required_type_1 = data
user_groups_required_type_1: Union[Unset, FlowModuleSuspendUserGroupsRequiredType1]
if isinstance(_user_groups_required_type_1, Unset):
user_groups_required_type_1 = UNSET
else:
user_groups_required_type_1 = FlowModuleSuspendUserGroupsRequiredType1.from_dict(_user_groups_required_type_1)
return user_groups_required_type_1
user_groups_required = _parse_user_groups_required(d.pop("user_groups_required", UNSET))
flow_module_suspend = cls(
required_events=required_events,
timeout=timeout,
resume_form=resume_form,
user_auth_required=user_auth_required,
user_groups_required=user_groups_required,
)
flow_module_suspend.additional_properties = d
return flow_module_suspend
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties