|  | # coding: utf-8 | 
|  |  | 
|  | """ | 
|  | Airflow API | 
|  |  | 
|  | Airflow API. All endpoints located under ``/api/v2`` can be used safely, are stable and backward compatible. Endpoints located under ``/ui`` are dedicated to the UI and are subject to breaking change depending on the need of the frontend. Users should not rely on those but use the public ones instead. | 
|  |  | 
|  | The version of the OpenAPI document: 2 | 
|  | Generated by OpenAPI Generator (https://openapi-generator.tech) | 
|  |  | 
|  | Do not edit the class manually. | 
|  | """  # noqa: E501 | 
|  |  | 
|  |  | 
|  | from __future__ import annotations | 
|  | import pprint | 
|  | import re  # noqa: F401 | 
|  | import json | 
|  |  | 
|  | from pydantic import BaseModel, ConfigDict, Field, StrictBool | 
|  | from typing import Any, ClassVar, Dict, List, Optional | 
|  | from typing import Optional, Set | 
|  | from typing_extensions import Self | 
|  |  | 
|  | class DAGRunClearBody(BaseModel): | 
|  | """ | 
|  | DAG Run serializer for clear endpoint body. | 
|  | """ # noqa: E501 | 
|  | dry_run: Optional[StrictBool] = True | 
|  | only_failed: Optional[StrictBool] = False | 
|  | run_on_latest_version: Optional[StrictBool] = Field(default=False, description="(Experimental) Run on the latest bundle version of the Dag after clearing the Dag Run.") | 
|  | __properties: ClassVar[List[str]] = ["dry_run", "only_failed", "run_on_latest_version"] | 
|  |  | 
|  | model_config = ConfigDict( | 
|  | populate_by_name=True, | 
|  | validate_assignment=True, | 
|  | protected_namespaces=(), | 
|  | ) | 
|  |  | 
|  |  | 
|  | def to_str(self) -> str: | 
|  | """Returns the string representation of the model using alias""" | 
|  | return pprint.pformat(self.model_dump(by_alias=True)) | 
|  |  | 
|  | def to_json(self) -> str: | 
|  | """Returns the JSON representation of the model using alias""" | 
|  | # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead | 
|  | return json.dumps(self.to_dict()) | 
|  |  | 
|  | @classmethod | 
|  | def from_json(cls, json_str: str) -> Optional[Self]: | 
|  | """Create an instance of DAGRunClearBody from a JSON string""" | 
|  | return cls.from_dict(json.loads(json_str)) | 
|  |  | 
|  | def to_dict(self) -> Dict[str, Any]: | 
|  | """Return the dictionary representation of the model using alias. | 
|  |  | 
|  | This has the following differences from calling pydantic's | 
|  | `self.model_dump(by_alias=True)`: | 
|  |  | 
|  | * `None` is only added to the output dict for nullable fields that | 
|  | were set at model initialization. Other fields with value `None` | 
|  | are ignored. | 
|  | """ | 
|  | excluded_fields: Set[str] = set([ | 
|  | ]) | 
|  |  | 
|  | _dict = self.model_dump( | 
|  | by_alias=True, | 
|  | exclude=excluded_fields, | 
|  | exclude_none=True, | 
|  | ) | 
|  | return _dict | 
|  |  | 
|  | @classmethod | 
|  | def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: | 
|  | """Create an instance of DAGRunClearBody from a dict""" | 
|  | if obj is None: | 
|  | return None | 
|  |  | 
|  | if not isinstance(obj, dict): | 
|  | return cls.model_validate(obj) | 
|  |  | 
|  | _obj = cls.model_validate({ | 
|  | "dry_run": obj.get("dry_run") if obj.get("dry_run") is not None else True, | 
|  | "only_failed": obj.get("only_failed") if obj.get("only_failed") is not None else False, | 
|  | "run_on_latest_version": obj.get("run_on_latest_version") if obj.get("run_on_latest_version") is not None else False | 
|  | }) | 
|  | return _obj | 
|  |  | 
|  |  |